All posts by grzegorzkorcyl

ACAP architecture for neural networks

ACAP (Adaptive Compute Acceleration Platform) devices are complex System-on-Chips including programmable logic resources, ARM cores, DSP and AI engines. All these, combined together can offer new capabilities in netural networks inference. Such complex systems require advanced development environments in order to make use of all possible features.

The aim of this project is to investigate capabilities of ACAP devices and software packages for neural networks inference

Requirements:

  • Basic knowledge of neural networks
  • Basic knowledge of C/C++ programming
  • Basic knowledge of FPGA technology

Układy typu ACAP (Adative Compute Acceleration Platform) są złożonymi systemami SoC zawierającymi zasoby programowalnej logiki, rdzenie ARM oraz silniki DSP i AI. Wszystkie połączone razem otwierają nowe możliwości do inferencji sieci neuronowych. Tak złożone układy wymagają zaawansowanych środowisk programistycznych w celu wykorzystania wszystkich dostępnych funkcji.

Celem tego projektu jest przebadanie możliwości architektury ACAP oraz pakietu oprogramowania do inferencji sieci neuronowych

Wymagania:

  • Podstawowa znajomość sieci neuronowych
  • Podstawowa znajomość C/C++
  • Podstawowa znajomość technologii FPGA

Investigation of influence of custom data types on neural networks performance

Neural networks are basic tool in artificial intelligence methods, perfectly suitable for inference on FPGAs. Unlike other processing devices, they offer a natural capability of applying custom data types for computations, which in turn, results in higher performance and smaller resource usage.

The aim of this project is to investigate how custom data types affect network learning methods, their architecture and overall performance.

Requirements:

  • Basic knowledge of neural networks
  • Medium knowledge of C++ or Python programming

Sieci neuronowe są podstawowym narzędziem w metodach sztucznej inteligencji, które idealnie nadają się do inferencji na układach FPGA. W przeciwieństwie do innych układów obliczeniowych, oferują naturalną możliwość użycia niestandardowych typów danych, co przekłada się na wyższą wydajność oraz zmniejszone zużycie zasobów.

Celem tego projektu jest przebadanie jak niestandardowe typy danych wpływają na proces uczenia się sieci neuronowych, ich architekturę oraz ogólną wydajność.

Wymagania:

  • Podstawowa znajomość sieci neuronowych
  • Średnia znajomość C++ lub Python

high performance computing – fast interconnect

High Performance Computing systems are composed of many interconnected nodes, where each one of them computes its individual part of the algorithm. Considering the performance of the nodes, memory access or data delivery becomes a bottleneck not only in terms of bytes per second but also in terms of latency.

The aim of this project is to review recent networking standards and their implementation on FPGA devices for High Performance Computing systems.

Requirements:

  • Basic knowledge of computer networking
  • Basic knowledge of HDL programming

Systemy typu High Performance Computing są złożone z wielu, połączonych pomiędzy sobą węzłów, z których każdy oblicza pewną część algorytmu. Uwzględniając wydajność węzłów, wąskim gardłem staje się dostęp do pamięci oraz dostarczanie danych, nie tylko w kategorii bajtów na sekundę ale również opóźnienia.

Celem tego projektu jest przegląd nowoczesnych standardów komunikacyjnych oraz ich implementacja na układach FPGA.

Wymagania:

  • Podstawowa znajomość sieci komputerowych
  • Podstawowa znajomość programowania HDL

high performance computing – computing kernel

Just like GPUs 20 years ago, now FPGA devices enter High Performance Computing systems for accelerating computations. Modern development techniques allow to design such systems in C/C++ or OpenCL. By effective usage of FPGA major advantages such as pipelined processing and natural parallelism one can gain superior performance over other computing devices.

The aim of this project is to implement a common stencil code and investigate its performance on FPGA platforms.

Requirements:

  • Basic knowledge of C/C++ programming

Tak jak układy GPU 20 lat temu, tak teraz układy FPGA zaczynają być używane w systemach typu High Performance Computing w celu akceleracji obliczeń. Nowoczesne metody rozwoju oprogramowania pozwalają implementować takie systemy przy użyciu C/C++ lub OpenCL. Poprzez efektywne wykorzystanie głównych zalet układów FPGA takich jak strumieniowe przetwarzanie danych oraz naturalne zrównoleglanie obliczeń, można osiągnąć wyższą wydajność niż inne układu obliczeniowe.

Celem tego projektu jest implementacja algorytmu szablonowego oraz analiza jest wydajność na platformach z układami FPGA.

Wymagania:

  • Podstawowa znajomość C/C++

New Paper – investigating the dirac operator evaluation on FPGAs

We are pleased to announce that our paper “Investigating the Dirac operator evaluation on FPGAs”, where we describe our research on running accelerated computations on hardware has been published in Supercomputing Frontiers and Innovations vol. 6 no. 2 2019.

Feel free to check it out any time under this [link].

You can find there a description of our kernel performance, evaluated on Xilinx Alveo U250 platforms and developed with SDAccel software package.

Soon we will present a detailed study of various algorithm architectures in order to achieve highest performance and profit from embedded HBM in Alveo U280.