Share
What you'll be doing:
Performing in-depth analysis and optimization to ensure the best possible performance on current and/or next-generation NVIDIA GPUs.
Creating and optimizing core parallel algorithms, data structures, and reference codes to provide the best possible solutions for NVIDIA GPUs.
Understanding and analyzing the interplay of hardware and software architectures on core algorithms, programming models, and applications.
Actively collaborating with the hardware design, software engineering, product, and research teams to guide the direction of accelerated computing.
Diving into accelerated computing applications to facilitate software-hardware co-design.
Writing up and presenting your work by writing white papers, conference publications, official blog posts, patent applications, etc. as appropriate.
What we need to see:
Strong mathematical fundamentals, including linear algebra and numerical methods.
A passion for performance optimization.
Hands-on experience with the massively parallel GPU programming model, e.g. CUDA or OpenCL. Familiarity with APIs for multi-node communication, like MPI or OpenSHMEM/NVSHMEM, is a plus.
Strong knowledge of C and C++ with solid understanding of software design, programming techniques, and algorithms. Familiarity with threading APIs for multicore CPUs and Unix-style Inter-process Communication (IPC) APIs is a plus.
Familiarity with Python is a plus.
Good communication and organization skills, with a logical approach to problem solving, good time management, and task prioritization skills.
5 +years working experience, B.Sc., M.Sc., or Ph.D. in relevant discipline (CS, EE, CE).
These jobs might be a good fit