C++/CUDA Parallel Computing and Python Developer
Intelliswift Software
Must Have Skills
- Modern C++ (19) w/ CUDA
- Experience using MPI (message passing interface) and OpenMP - parallelization / distributed computing
- Optimizing / refactoring code
Supplemental Skills, Plusses
- Numerical Method (unicorn)
- Full stack on cluster - bare metal, operating system, drivers, applications (unicorn)
- Physics understanding
- High Performance Computing Optimizations
- Nice to have DSP background (sample rates, digital filters, etc)
Detailed Job Description
*Please prioritize C++/CUDA, parallel computing, and Python. The other skills requested (HPC, SLURM, 3D Math) are now nice-to-haves.* Reality Labs at Meta is seeking a contractor for the role of Parallel Computing Engineer in AR/VR audio to work in our research lab. The job entails supporting the audio research team in achieving their research goals by performing infrastructure and workflow setup/management and implement/optimize research code into massively parallel software suite.
Responsibilities
- Work side by side with research scientists to optimize, solve, and integrate existing or future research
- Create, debug, and optimize core parallel algorithms and data structures within a distributed environment through library development, direct application contributions, and software profiling
- Build software, tools, platforms, infrastructure, and documentation that enable research staff to be more effective and efficient
- Write clean readable code, debug complex problems that span systems, prioritize ruthlessly, and get things done with a high level of efficiency
- Mentor researchers and other team members on software engineering best practices, tips, and techniques
- Collaborate in a team environment across multiple scientific and engineering disciplines, making the architectural tradeoffs required to rapidly deliver software solutions
- Learn constantly, dive into new areas with unfamiliar technologies, and embrace the ambiguity of AR/VR problem solving
Minimum Qualifications Requirements
- Demonstrated proficiency in computational complexity, algorithm design, low level computer architecture, data structures, software design, large-scale C/C++ systems
- 5+ years relevant experience in parallel computing
- 5+ years of experience in C++ (≥ v.11)
- Experience with parallel programming, ideally C/C++ threads, MPI, and OpenMP
- Experience in GPGPU programming, ideally CUDA C/C++, OpenCL, or DirectCompute
- Strong mathematical fundamentals, including linear algebra, computational physics, and numerical methods
- Excellent communication and organization skills, with a logical approach to problem-solving, good time management, and task prioritization skills
Preferred Qualifications
- Good grasp of audio and DSP fundamentals
- Proven experience in scientific computing using Python and/or MATLAB
- 1+ years experience in working with HPC clusters, automation software, and virtualization/containerization (e.g., Kubernetes, SLURM, VMWare)
- Experience in computer graphics algorithms/principles and physics principles (e.g., wave propagation)
- Experience in SQA, formal/empirical Verification of mathematical models, software defects, and complexity analysis
Expertise level
Work arrangement
Similar Jobs in United States
AWS Engineer with Python
Ampstek
2 weeks ago
Software Engineer
Ascendion
2 weeks ago
2 weeks ago
2 weeks ago
Python Full Stack Engineer
Quantum World Technologies Inc.
2 weeks ago