All posts by grzegorzkorcyl

one of the first to get hololens2

Today we have received Microsoft Hololens 2 as the first batch of this sweet hardware has been shipped worldwide.


FPGAFAIS and Jagiellonian University are one of the first to have this equipment available for research.

The holographic goggles are intended to be used for J-PET project and visualization of tomographic measurement in real-time on the patient but it offers so much possibilities.

The goggles run Windows 10 and can be programmed in C# using Unity game engine and Vuforia. In case you have some experience in these technologies, don’t hesitate to join our group.

If you are interested, have an idea for an interesting project, have a look at diploma projects tab or email directly at

Many thanks to Bechtle AG for assisting us with the purchase.

Accelerating HPC

It took some time, a lot of research and development to make this very important step!

Trying to employ latest technologies, we have implemented, compiled and successfully run the accelerated Conjugate Gradient solver on Alveo U280 (shell 2019.2) using Vitis, both officially released just couple days ago.

In this design we are evaluating some of techniques like:

  • Integrated HBM memory
  • Fully streamlined kernel

We have managed to fit 3 instances of the kernel into the device, consuming about 70% of available resources.

Each kernel instance works with Iteration Interval of 2 clock cycles at 300 MHz, that gives almost 600 GFLOPs for the entire solution!

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


  • 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


  • 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.


  • 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ść.


  • 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.


  • 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.


  • 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.


  • 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.


  • 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.

Supercomputing Frontiers Europe 2019

Our recent research results of implementation of Conjugate Gradient as benchmark for HPC solutions was presented during Supercomputing Frontiers Europe 2019 conference in Warsaw 11 – 13 March.

For more details about the conference click [here]

Click [here] to access the presentation.

The talk covers:

  • Implementation of Conjugate Gradient computing kernel with Vivado HLS for Xilinx Alveo U250 platform
  • System design and performance results with the external DDR memory
  • System design and performance results with the embedded memory block