B.Sc./M.Sc. in Electronics Engineering, Computer Engineering or Computer Science. Hands-on experience with Object-Oriented Programming (OOP) as well as Parallel programming using C/C++. Experience in HPC (High Performance Computing) with hands on experience in GPU programming with CUDA. Knowledge of GPU architectures and hardware. Experience with GPU profiling and optimization techniques . Self-motivated and able to work independently. Highly developed communication skills, including the ability to present ideas and share your knowledge with others. The candidate should have a software background with multi-threading experience. He/She will focus on enabling compute intense algorithms written in C/C++ on GPUs in a robust, optimized format. The candidate must have a well-rounded understanding of common bottlenecks and be well-versed in computational architectures and optimization. He/She will demonstrate skills in design for optimal concurrency and memory access