Blog Archives

Using a Scalable Parallel 2D FFT for Image Enhancement

Introduction Frequency domain operations on spatial or time data are often used as a means for accelerating calculations. For example, when filtering a signal, one can use convolution to perform the operation in the spatial domain or transform the signal

Posted in Shared Memory, SPMD, White Papers

Scalable Parallel Multiplication of Big Matrices

Introduction Multiplication of matrices is a fundamental operation in linear algebra and is applied in many engineering and scientific areas. The popular SGEMM function is an example of a standard API used for implementing this operation in its most general

Posted in ANSI-C, Shared Memory, SPMD, White Papers

Hello World! (SPMD version)

Abstract: The purpose of this trivial example is to show that Adapteva’s Epiphany architecture supports a Single Program Multiple Data (SPMD) programming model. Code: #include <stdio.h>; #include <e_coreid.h>; #define MASTER 0×824; int main(void) { //Get the coordinate (core ID) of

Posted in SPMD

An OpenCL Matrix Multiplication Recipe for Epiphany

Abstract: The examples shows how to use OpenCL to implement an efficient matrix multiplication routine on the Epiphany architecture. To reduce off-chip data movements, our OpenCL SDK was agumented with a few key extension calls to allow for more efficient

Tagged with: , , , , ,
Posted in OpenCL

Matrix Multiplication Optimization

Abstract: The examples shows two ways of performing matrix multiplication, a simple one that gives moderate performance, and a slightly more complex versions that achieves optimal performance using the e-gcc compiler. The optimal code was partially unrolled to allow the

Posted in ANSI-C

Hello World!

Abstract: The purpose of this trivial example is to show that Adapteva’s Epiphany architecture is a true ANSI-C programmable processor.  Whether the processor is being used as an embedded multicore processor or in a high performance PCI express accelerator configuration,

Tagged with: , , , ,
Posted in ANSI-C