Hardware accelerated engines
Hardware accelerated engines
Hardware accelerated engines are increasingly used both in HPC systems and on single workstations because they can drastically reduce the execution time of lengthy procedures that act repeatedly on regular data structures. Several programming paradigms for parallel programming such as OpenMP, CUDA,OpenACC, or OpenCL have been developed, thus enhancing the proliferation of software solutions based on hardware accelerated engines.
Epigenesys implements for its customers parallel computing systems based on hardware accelerated engines (GPU), high performance network cards, or special purpose harware accelerators. We optimize or develop software based on the MPI protocol to fullt exploit low-latency networks such as Infiniband or Myrinet. We help our customeranalyzing their own “legacy” programs to identify the bottle necks, and to adopt the best optimization strategies.
Cuda
GPGPU (General-Purpose computing on Graphics Processing Units) is a technique that uses the graphics processing unit (GPU), which typically handles computation only for computer graphics, to perform computation in applications traditionally handled by the CPU.
With time graphics cards producers started encouraging GPGPU by defining new programming paradigms and GPU-based computing architectures. Nvidia, one of the first producers graphics cards optimized for GPGPU , has developed the CUDA programming environment for such cards.
Epigenesys has a considerable experience in developing sofware based on CUDA. We analyze algorithms used by a customer and rework them as parallel algorithms to be run within the GPU.
Intel Xeon Phi
Xeon PHI are Intel manycore processors with high parallelism and vectorization.
vettorializzazione. They are used in High Performance Computing and are a main competitor to GPGPU with CUDA. Theprogrammming model is based on APIs such as those of OpenMP..
Epigenesys has a wide experience in developing and optimizing algorithms for this kind of processors.