Software Architect - HPC
Job details
Job Description *Hiring will be into all Renesas EMEA and APAC offices, either for hybrid work or remotely* In this role, you will be part of the AI & Cloud Engineering (ACE) Division and MLOps team. We are developing a comprehensive AI strategy that delivers a highly flexible platform to explore new Deep Learning / Machine Learning model architectures, combined with auto-tuned high performance for production environments across a wide range of hardware architectures. The platform can improve performance, developer efficiency & deployment velocity of both AI training and inference. As a Software Architect - HPC, you will lead in designing and implementing the best-in-class software architecture for multiple AI software products for internal and external customers. You will work closely with multiple engineering teams to align on both high-level architecture and implementation details. You will apply software development best practices to design features, improve performance and deliver software. You will gain valuable experience in architecting commercial grade software products and will help in driving next generation hardware software co-design for AI domain specific problems. Our division’s mission is to use the latest AI and cloud technologies to develop the best AI inference for advanced driver safety engineers building self-driving vehicles and other high performance compute products. Renesas is the leading automotive electronics supplier globally, and this is a rare opportunity to deploy your AI software to the billions of devices we ship to customers every year. You will join our newly formed AI & Cloud Engineering organization of around 100 software engineers. Due to strong demand for our AI-related products we are planning to triple in size in the next three years, so there is lots of room for you to help us grow the team together while remaining small. Our team’s key locations are Tokyo, London, Paris, Dusseldorf, Beijing, Singapore, Ho Chi Minh City and other metropolitan areas, but you can also join fully remotely from other locations globally or get our support to relocate to our key hubs such as Tokyo. Responsibilities
- Design and develop high-performance computing architectures that deliver exceptional computational performance, scalability, and energy efficiency.
- Collaborate with software and hardware engineers to design and optimize the system's computational components, including processors, accelerators, interconnects, and memory subsystems.
- Work closely with software developers to define and implement software frameworks, libraries, and tools that maximize performance and productivity on the target HPC architecture.
- Conduct performance analysis, benchmarking, and modeling to identify performance bottlenecks, optimize system parameters, and guide architectural enhancements.
- Define system-level requirements, including processing power, memory capacity, I/O bandwidth, and storage capabilities, and ensure compliance with industry standards and customer expectations.
- Define next generation AI HPC architecture direction based on data analysis and collaborate with engineering and cross-functional teams to deliver the best hardware/software solutions that meet PPA goals.
- Provide technical guidance and mentorship to junior team members and other stakeholders, fostering knowledge sharing and best practices within the HPC architecture domain.
- Bachelor’s or Master’s degree in computer science, machine learning, mathematics, physics, electrical engineering or related field.
- Expertise in high-performance computing architecture design, including processors, accelerators, interconnects, and memory subsystems.
- Proficiency in parallel programming models and frameworks, such as OpenMP, MPI, CUDA, or OpenCL, and their application to HPC workloads.
- Solid understanding of performance analysis and optimization techniques for parallel computing, including profiling, tracing, and performance counters.
- Familiarity with industry-standard interconnects and network fabrics, such as InfiniBand, Ethernet etc, and their impact on HPC system performance.
- Experience with HPC software stack components, such as compilers, runtime systems, job schedulers, and scientific libraries.
- Advanced programming skills in at least one language commonly used in HPC, such as C, C++, Python.
- Great problem-solving abilities and the ability to analyze and address complex performance and scalability challenges.
- Communication and collaboration skills to work effectively with cross-functional teams and domain experts.
- Ability to speak and write in English at a business level.
Apply safely
To stay safe in your job search, information on common scams and to get free expert advice, we recommend that you visit SAFERjobs, a non-profit, joint industry and law enforcement organization working to combat job scams.