Tag Archives: Diploma Projects

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++

WEB Frontend builder for Slow Control

The project is about designing and implementing a configurable frontend interface for Slow Control System for DJPET

Slow Control System allows to control and monitor parameters of the electronics included in the data acquisition system of the DJPET scanner.

The user interface should give a possibility to display values under various forms (e.g.: graphs, raw values etc.) refreshed at time intervals as well as collect input from the user. As the is dynamically developed, the GUI should be easily adjustable by inserting or removing new fields.

Projekt polega na zaprojektowaniu i zaimplementowaniu interfejsu graficznego dla systemu kontrolno/sterującego dla skanera DJPET

System kontrolno/sterujący pozwala na ustawianie i monitorowanie parametrów elektroniki wchodzącej w skład systemu akwizycji danych.

Interfejs użytkownika powinien dawać możliwość prezentowania odczytywanych wartości w różnych formach (grafy, surowe wartości, itp.) odświeżanych w zadanej częstotliwości oraz pozwalać użytkownikowi ustawiać parametry odczytu. Ponieważ system jest dynamicznie rozwijany, GUI powinno mieć możliwość łatwego dodawania  i usuwania nowych pól.

Medical imaging with Hololens – TAKEN

The project is about visualization of the J-PET or D-JPET reconstructed image using Hololens

Hololens are holographic googles from Microsoft. They can be used to track patients and display dynamically generated tomographic image on their body.

The project consists of exploring the mechanisms behind Hololens and develop a method of augmenting the vision with the generated  image.

 

Projekt polega na wizualizacji obrazów zrekonstruowanych przy pomocy skanerów J-PET i D-JPET przy użyciu gogli Hololens

Hololens to gogle holograficzne od Microsoft. Zamierzamy ich użyć do śledzenia pacjenta i nakładania dynamicznie generowanego obrazu tomograficznego na jego ciele.

Projekt polega na przebadaniu mechanizmów na podstawie których działają gogle oraz rozwinięciu metody rozszerzenia wizji poprzez nałożenie wygenerowanego obrazu.

Dynamically Reconfigurable Systems

Project about evaluating the dynamic reconfiguration procedures and adaptive algorithms

FPGA technology offers the possibility to dynamically reconfigure fragments of the logic by exchanging logic configurations without the need to reload the entire design. This opens a wide range of interesting possibilities to create dynamic solutions that adapt to a particular computing requirements in order to optimize usage resources.

 

Projekt dotyczący ewaluacji mechanizmów dynamicznej rekonfiguracji i adaptacyjnych algorytmów

Technologia FPGA oferuje możliwośc dynamicznej rekonfiguracji polegającej na podmianie konfiguracji fragmentów logiki bez potrzeby przeładowania całego układu. Otwiera to wiele ciekawych możliwości na tworzenie rozwiązań dynamicznie adaptujących się do wymaganego rodzaju obliczeń w celu optymalizowania wykorzysania zasobów.

Projekt polega na zapoznaniu się z tematem i opracowania systemu potrafiącego dynamicznie przekonfigurowywać logikę ładując sprzętowe akceleratory odpowiedniego typu.