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 withing 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 defect, and complexity analysis
● Top 3 must-have HARD skills:
Modern C++ (19) w/ CUDA
Experience using MPI (message passing interface) and OpenMP - parallelization / distributed computing Optimizing / refactoring code
● Good to have skills:
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)
● Story Behind the Need – Business Group & Key Projects:
Backfill
Audio Simulation Environment / Research
Simulations Team on RLR-Audio
Job Types: Full-time, Contract
Salary: $65.00 - $100.00 per hour
Benefits:
- 401(k)
- Dental insurance
- Health insurance
Schedule:
- 8 hour shift
- Monday to Friday
Work Location: In person