Phew! After a bit of effort, I was able to add an external hard drive to
my parallella cluster, and make it accessible to all the nodes by mounting
it on a NFS. I’ve updated the parallella cluster post to include
this information. Visit it here to learn how to set up NFS on your
parallella cluster too!
I haven’t posted here in a while, mainly since I’ve been very busy with other things. Recently, I downloaded the updated image from Adapteva and started experimenting with it. Needless to say, the image that Parallella is now distributing is a LOT better than the one my students and I used last year during the course. For one thing, the new version of the kernel has support for wireless. Getting connecting to wireless is a cinch using the new image.
Read More…
In the previous post, we created a Beowulf cluster using N Parallella boards. If you are using my images, the files you need to run the John the Ripper application should already be on them. If you don’t (or if they aren’t), follow this tutorial to set up the files on your cluster and get going. I’ll also walk you through how the code works.
I wrote this demo for my parallel computing class, and presented it at the “Budget Beowulfs” special session at SIGCSE 2015.
Read More…
The goal of this tutorial is to create a simple Beowulf cluster using Parallella boards. After completing these instructions, you should have a simple Parallella Cluster with N nodes. In the examples that follow, N=4. However, the tutorial can be used to create clusters of any size N.
These instructions are adapted from the raspberry pi cluster instructions provided by Dr. Simon Cox from the University of Southampton. Unlike those instructions, I designed this tutorial to enable students to assemble a working parallella cluster within one hour.
Read More…
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…
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…
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…
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…
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…
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…
The goal of this tutorial is to allow you to connect to your Parallella board from your laptop using an SSH connection. If you don’t have an HDMI monitor, SSH is the the principle way to run programs remotely and transfer files between the Parallella board and your computer. This page is based off of the original tutorial I wrote in November 2014. Special thanks to 2LT Zach Ramirez and Jim Beck for their help in putting together the initial draft of this tutorial.
Read More…
The goal of this tutorial is to allow you to set up your Parallella board for first use. These instructions are adapted from the original SD-card guide provided on the Parallella website (update: these instructions have been improved quite a bit since I wrote this tutorial.) This page is based off of the original tutorial I wrote in November 2014.
What you will need This tutorial assumes that you bought a Parallella Desktop Edition and have access to a Windows machine.
Read More…