We are looking for a skilled CUDA Software Engineer to join our team and contribute to the development of high-performance parallel computing solutions.
As a CUDA Software Engineer, you will play a key role in designing and implementing CUDA kernels for NVIDIA
GPUs, pushing the boundaries of computational efficiency and performance.
Responsibilities:
Design, develop, and optimize CUDA kernels for parallel computing applications, leveraging the power of NVIDIA GPUs.
Collaborate with the software development team to understand project requirements and performance targets.
Implement efficient algorithms and data structures for parallel processing on CUDA-enabled GPUs.
Profile and optimize CUDA code for performance, memory usage, and scalability.
Troubleshoot and debug issues in CUDA kernels, addressing performance bottlenecks and algorithmic complexities.
Stay updated on the latest advancements in CUDA technology and GPU architectures.
Document and communicate technical designs, implementation details, and performance optimizations.
Requirements:
Bachelor's degree in Computer Science, Electrical Engineering, or related field. Advanced degree preferred.
Strong proficiency in CUDA programming for NVIDIA GPUs, with a deep understanding of CUDA fundamentals.
Demonstrated experience designing and implementing CUDA kernels for parallel computing tasks.
Proficiency in C/C++ programming languages.
Experience with parallel algorithms, data structures, and optimization techniques.
Familiarity with GPU performance profiling tools and techniques.
Knowledge of NVIDIA Drive SDK fundamentals is advantageous.
Strong problem-solving skills and attention to detail.