Select how often (in days) to receive an alert:
A.
Job Objective:
We are seeking an experienced Developer with a strong background in C++, CUDA programming, and Linux to guide our development team in building cutting-edge solutions for device integration and high-performance computing tasks. This is a hands-on leadership position that combines technical expertise with team management skills to deliver high-quality software products.
Primary responsibilities:
Software Development:
- Develop and maintain high-performance applications using C++ and CUDA.
- Design and implement parallel algorithms for GPUs to accelerate computational workloads.
Performance Optimization:
- Optimize CUDA kernels for performance, scalability, and memory efficiency.
- Analyze performance bottlenecks and propose innovative solutions.
Code Review and Testing:
- Conduct code reviews to ensure adherence to coding standards and best practices.
- Develop and execute test cases to validate functionality and performance.
Collaboration:
- Work closely with the software engineering and research teams to understand requirements and deliver robust solutions.
- Provide technical guidance and mentoring to junior team members when necessary.
Documentation:
- Write and maintain technical documentation, including design specifications and user manuals.
Required Skills:
- C++: Strong proficiency in modern C++ (C++11/14/17/20).
- CUDA Programming: Extensive experience in developing, debugging, and optimizing CUDA applications.
- GPU Optimization: Familiarity with memory hierarchy, shared memory, streams, and warp-level operations in CUDA.
- Parallel Computing: Solid understanding of parallel algorithms and multi-threaded programming.
- Mathematical and Analytical Skills: Strong foundation in linear algebra, calculus, and numerical methods.
- Tools: Experience with debugging/profiling tools like Nsight, CUDA Memcheck, or similar.