HPC / C++ Software Engineer – Kokkos, GPU Computing
CEA Paris-Saclay, France | 36-month fixed-term contract | Starting January 2027
Join us to shape the future of exascale computing!
CEA Paris-Saclay, France | 36-month fixed-term contract | Starting January 2027
Join us to shape the future of exascale computing!
The French Alternative Energies and Atomic Energy Commission (CEA) is recruiting an HPC / C++ Software Engineer to contribute to KOKTAILS , a research project within the French NumPEx programme (France 2030), dedicated to advancing the Kokkos ecosystem for next-generation supercomputers.
This position offers a unique opportunity to work at the intersection of high-performance computing, GPU programming, scientific software development, complex data structures, and compiler technologies .
You will contribute to open-source software used by scientific computing communities, collaborate with national and international research teams, and help develop portable and efficient programming solutions for heterogeneous CPU/GPU architectures.
Your missions
Your work will focus on three complementary research and development areas:
1. Cross-cutting Kokkos developments (WP5)
- Design, develop, and maintain reusable C++ components within the Kokkos ecosystem.
- Improve performance portability across CPU and GPU architectures, including CUDA, HIP, SYCL, and OpenMP.
- Develop generic computing and data abstractions, interfaces, benchmarks, and performance analysis tools.
- Contribute to the international open-source Kokkos community.
- Implement software engineering best practices, including automated testing, continuous integration, and packaging.
2. High-dimensional and unstructured meshes (WP3)
- Develop efficient data structures for high-dimensional scientific applications, including 6D/7D data representations.
- Optimize multidimensional data layouts, memory access patterns, and indexing strategies using Kokkos.
- Investigate GPU-efficient algorithms for unstructured meshes, irregular memory accesses, connectivity management, and hierarchical parallelism.
- Address challenges related to load balancing, concurrent memory access, and heterogeneous execution.
- Evaluate solutions through representative scientific kernels, benchmarks, and mini-applications.
3. Python-Kokkos interoperability and MLIR (WP2)
- Develop and prototype Python/C++ interfaces for executing Kokkos computational kernels.
- Investigate efficient data exchange between Python environments and GPU memory.
- Explore compiler-based approaches using LLVM/MLIR to translate and optimize computational kernels for Kokkos.
- Study interoperability with scientific Python and AI frameworks, including JAX and PyTorch.
- Evaluate performance, usability, and integration of these approaches within scientific simulation workflows.
You will also collaborate with other KOKTAILS partners and NumPEx projects, particularly Exa-DI and Exa-SofT, to validate and integrate new software components into scientific applications.
Your profile
We are looking for a motivated software engineer or researcher with a Master's degree, engineering degree, or PhD in Computer Science, Scientific Computing, Applied Mathematics, or a related field.
Required skills:
- Strong proficiency in modern C++ (C++17 or later).
- Good understanding of parallel programming and/or performance optimization.
- Experience with collaborative software development (Git, CMake, testing, CI/CD).
- Interest in high-performance computing and scientific software.
Highly appreciated:
- Experience with Kokkos, MPI, OpenMP, CUDA, HIP, or SYCL.
- Knowledge of CPU/GPU architectures and heterogeneous computing.
- Python programming and scientific computing environments.
- GPU profiling and performance optimization.
Additional assets:
- LLVM/MLIR compiler infrastructure.
- JAX, PyTorch, or pybind11.
- High-dimensional or unstructured mesh data structures.
- Numerical methods (finite volumes, finite elements).
- HPC software deployment tools such as Spack.
You should enjoy solving challenging technical problems, working collaboratively within international teams, and contributing to open-source scientific software. Professional English proficiency is expected.
Why join CEA?
- Contribute to an ambitious national research programme preparing European scientific applications for exascale computing.
- Work on open-source technologies at the forefront of HPC and GPU programming.
- Collaborate with leading French, European, and international research teams.
- Participate in technical workshops, training activities, and international conferences.
- Benefit from the CEA research environment, professional development opportunities, competitive compensation based on experience, and applicable remote-working arrangements.
Location: CEA Paris-Saclay, Gif-sur-Yvette, France
Contract: 36-month fixed-term contract
Expected starting date: January 2027
Join us in developing the next generation of portable, high-performance scientific software!
#HPC #Kokkos #Exascale #GPUComputing #Cpp #MLIR #Python #ScientificComputing #NumPEx #CEA #Hiring
#J-18808-Ljbffr