[content_band inner_container="true" no_margin="true" border="none" padding_top="10px" padding_bottom="40px" ]

[column type="one-half"][custom_headline type="left" level="h2" ]Xilinx SDAccel Training[/custom_headline]

ArrayFire has been selected as the exclusive SDAccel Xilinx Authorized Training Partner (ATP) for North America. We offer SDAccel training courses that will enable design teams leverage Xilinx FPGAs for OpenCL application acceleration.

<img src="http://sandbox.arrayfire.com/wp-content/uploads/2015/05/xilinx_alliance-1024x332.png" alt="xilinx_alliance" />

<strong>Course Name </strong>Developing and Optimizing Applications Using the OpenCL Framework for FPGAs

<strong>Course Description</strong>

Learn how to develop new applications written in OpenCL, C/C++, and RTL in the SDAccel™ development environment for use on Xilinx FPGAs. Porting existing applications is also covered.

Training lectures and labs for this course will enable attendees to gain necessary skills to: identify parallel computing applications suitable for accelerating on FPGAs, understand how the FPGA architecture lends itself to parallel computing, write OpenCL programs for FPGAs, and utilize the SDAccel Development Environment.

This course also demonstrates how to debug and profile OpenCL code using the SDAccel development environment. In addition, you will also learn how to maximize performance and efficiently utilize FPGA resources.

<strong>Course Duration</strong> – 2 days

<strong>Price</strong> – Contact ArrayFire for quote. Xilinx training credits accepted.

<strong>Who Should Attend </strong>– Software and hardware developers who want to develop OpenCL, C/C++, and RTL applications in the SDAccel development environment.

<strong>Prerequisites</strong>
Basic knowledge of C/C++

<strong>Software Tools</strong>
SDAccel development environment and common build tools

<strong>Hardware</strong>
Architecture: 7 series, UltraScale, UltraScale+

&nbsp;

[button type="flat" shape="rounded"  size="regular" href="mailto:sales@arrayfire.com?Subject=Training%20Inquiry"]Contact us to register for training[/button]

&nbsp;

[/column]

[column type="one-half" last="true" fade="true" fade_animation="in-from-right" class="center-text"][gap size="15%"][image src="http://sandbox.arrayfire.com/wp-content/uploads/2014/02/Professor-AF_Exported-e1395436350363.png" ][/column]

[/content_band][content_band bg_color="#F2f2f2" inner_container="true" no_margin="true" border="none" padding_top="10px" padding_bottom="40px" ]

[column type="one-half"][gap size="10%"]<img class="aligncenter wp-image-4806" src="http://sandbox.arrayfire.com/wp-content/uploads/2014/01/gears1-e1395437543311.png" alt="gears" width="427" height="400" />

[/column][column type="one-half" last="true"]

[custom_headline type="left" level="h2"]Included in the course[/custom_headline]

You provide the minds, and we'll take care of the rest. Each training comes with the following:

[icon_list] [icon_list_item type="angle-double-right"]Instruction by an excellent and interesting expert[/icon_list_item] [icon_list_item type="angle-double-right"]Hands-on exercises[/icon_list_item][icon_list_item type="angle-double-right"]Use of a laptop with CUDA and OpenCL capable GPUs and CPUs [/icon_list_item] [icon_list_item type="angle-double-right"]Choice of Linux or Windows operating system[/icon_list_item][icon_list_item type="angle-double-right"]Printed manual of lecture material[/icon_list_item][icon_list_item type="angle-double-right"]Electronic copy of programming exercises[/icon_list_item][/icon_list]

<span style="color: #ffffff;">ne can't ask for better individualized instruction than the environment I was fortunate enough to encounter.</span> <span style="color: #ffffff;">The instructor was able to completely focus on my particular needs and concerns.</span>

<span style="color: #ffffff;">—Brian Rapp,  U.S. Army Research Lab</span>[/blockquote]

[/content_band]

[content_band inner_container="true" no_margin="true" border="none" padding_top="10px" padding_bottom="40px" ]

[custom_headline type="left" level="h2"]Training Syllabus[/custom_headline] [column type="one-half"] [custom_headline type="left" level="h5"  accent="false"]Day 1, Introduction[/custom_headline] Lectures:
GPU Computing Overview
The Programming Model
Basic Dataset Mapping Techniques
Libraries, ArrayFire
Profiling Tools

Practice:
A Simple Kernel
Equivalent ArrayFire Example
Using Libraries
Monte Carlo Pi Estimation
Timing and ArrayFire
Debugging Code

[custom_headline type="left" level="h5" accent="false"]Day 3, Multi-GPU[/custom_headline] Lectures (customizable):
Multi-GPU Use Cases
Multi-GPUs: Contexts
Existing Libraries
Scaling Across Multiple GPUs

Practice:
Out of Core Problems: Matrix Multiply
Task Level Parallelism: Optimization
ArrayFire Multi-GPU[/column]

[column type="one-half" last="true"] [custom_headline type="left" level="h5" accent="false"]Day 2, Optimization[/custom_headline] Lectures:
Architecture: Grids, Blocks, and Threads
Memory Model: Global, Shared, and Constant Memory
Advanced Mapping Techniques
Streams: Asynchronos Launches and Concurrent Execution
ArrayFire: Lazy Evaluation and Code Vectorization

Practice:
Matrix Transpose
Optimization Using Shared Memory
Median Filter
Optimization Using Constant Memory
Stream Example
ArrayFire Example: Nearest Neighbor Algorithm

[custom_headline type="left" level="h5" accent="false"]Day 4, Algorithm Problems[/custom_headline]

Lectures and Practice (customizable):
Reductions
Scan Algorithms
Sort
Convolution
Customer-Specific Problem

[button type="flat" shape="rounded"  size="regular" href="mailto:sales@arrayfire.com?Subject=Training%20Inquiry"]Okay, <em>now </em>contact us about a training[/button][/column][/content_band]