epiphany

The Dot Product Program Revisited

Did you try and fix the Dot Product program from the last post? How successful were you? As you get used to Epiphany programs, it will get easier to debug and write your own. For now, it’s best that whenever you write your own programs, you always start from an existing Epiphany program and slowly make changes. Recall that we want to calculate the sum of products of two vectors containing the elements between $0 \ldots N-1$, for some value of $N$ (Assume $N$ is a power of 2, and $N \geq 16$.

Read More…

The Dot Product Program

Now that we have covered a basic Epiphany program, we will go on to a more complex example that executes in Parallel. This program can be found in the epiphany-examples/apps/dotproduct/ directory on your Parallella board. Before we start discussing the code, let’s discuss the problem. Calculating Dot Product in Parallel The dot product between two arrays is the sum of the products. Consider the arrays $A= [1,2,3]$ and $B=[4,5,6]$. The dot product of these two arrays is $1 \times 4 + 2 \times 5 + 3 \times 6 = 4 + 10 + 18 = 32$.

Read More…

Hello Epiphany

In this post, I’m going to walk you through Epiphany’s hello world program, which can be found in the epiphany-examples/apps/hello-world directory. I strongly encourage you to see my previous post about the Epiphany architecture to assist you with your understanding of the material in this post. I will assume you understand Epiphany’s basic memory model and architecture. This post was adapted from my slides and lecture notes that I used to teach my students during the Epiphany unit we had this past semester.

Read More…

Overview of Epiphany Architecture

In this post, I’m going to give you an overview of the Epiphany co-processor architecture, including the motivations for a co-processors and hardware accelerators, what sets co-processors apart, and then the details of the Epiphany co-processor. While you may think that this post is not as important as the future posts that will walk you through how to run programs on the Epiphany chip, I urge you not to skip it.

Read More…

Running our first Epiphany Program

Before we get into the nitty gritty of programming the Epiphany architecture, we are going to do a quick demo and benchmarking study to illustrate how to use it. For the purposes of this demo (and cluster demo that will be posted later), we will be concentrating on the Epiphany implementation of John the Ripper, which was contributed by Katja Malvoni, and is accessible under the parallella-examples/john subdirectory on your Parallella board, or through the parallela-examples Git repository.

Read More…

Epiphany Module

This page serves to collect all the posts related to my teaching materials for the Epiphany programming module. This material was originally delivered to my students as part of my parallel computing course which debuted in Spring 2015. Please visit the links below to access my lecture materials on the subject: Running our first Epiphany Program Overview of Epiphany Architecture Hello Epiphany The Dot Product Program The Dot Product Program Revisited

Read More…

All Posts by Category or Tags.