Location: Bangalore, India
Employment Type: Full-time
EMTensor is looking for a talented and self-driven C++ / CUDA / Python Programmer to join our engineering team.
In this role, you will design, implement, optimise, and benchmark high-performance computing components used in advanced engineering and imaging systems. You will work on performance-critical software, develop GPU-accelerated solutions, and continuously improve system efficiency through profiling, optimisation, and algorithmic improvements.
We are looking for an engineer who enjoys solving challenging technical problems, takes ownership of their work, and can independently turn high-level concepts into robust and efficient implementations.
- Develop and optimise high-performance computing algorithms and software components.
- Design, implement, and optimise CUDA kernels for GPU-accelerated workloads.
- Profile, benchmark, and analyse software performance across different hardware platforms.
- Identify performance bottlenecks and implement data-driven improvements.
- Translate and maintain functionality across C++ and Python environments when required.
- Build efficient and scalable solutions for computationally intensive applications.
- Take ownership of assigned modules and deliver production-quality software with minimal supervision.
- Work directly on Linux-based systems and computing infrastructure.
- Collaborate closely with software, FPGA, RF, and algorithm teams to improve overall system performance.
- 2–4 years of professional software development experience.
- Strong programming skills in modern C++ and Python.
- Hands-on experience with CUDA kernel development and optimisation.
- Excellent understanding of data structures, algorithms, and computational complexity.
- Practical experience using profiling and debugging tools such as NVIDIA Nsight Compute, Nsight Systems, gdb, perf, nvtop, and related tooling.
- Solid understanding of GPU architecture, memory hierarchy, and performance optimisation techniques.
- Experience working independently in Linux environments.
- Strong analytical and problem-solving skills with a performance-oriented mindset.
- Ability to take high-level technical concepts and implement efficient, production-ready solutions.
- Experience with numerical computing libraries such as NumPy, CuPy, or SciPy.
- Knowledge of multithreading and concurrent programming techniques.
- Experience with Git and collaborative software development workflows.
- Familiarity with scientific computing, signal processing, image processing, or high-performance computing applications.
Bachelor’s or Master’s degree in Computer Science, Electronics Engineering, Mathematics, Physics, or a related technical field.
Please send your CV and a short introduction to [email protected]