AI SOFTWARE ENGINEER
Esperanto Technologies
Software Engineering, Data Science
Barcelona, Spain
Posted on Jul 18, 2024
Description
Esperanto delivers high-performance, energy-efficient, and innovative computing solutions that are the compelling choice for the most demanding AI and non-AI applications. The changing, computationally intensive workloads of the machine learning era mandate a new clean-sheet solution, without the baggage of existing legacy architectures, or the programmability limitations of overspecialized hardware. Esperanto leverages the simple, elegant, open standard RISC-V ISA along with leading-edge system architectures to deliver flexibility, scalability, performance, and energy-efficiency advantages.
We're seeking a talented AI Compiler Engineer to join our team and play a vital role in developing optimizations for the next-generation AI solutions. You'll work alongside a team of passionate engineers, applying your expertise to optimize and accelerate AI software.
Responsibilities
- Possess a strong understanding of cache hierarchy, memory access patterns, and their impact on AI model performance.
- Leverage your expertise in assembly language and low-level C++ to write highly optimized code for massively-parallel architectures.
- Demonstrate a solid grasp of CPU and accelerator microarchitecture concepts to effectively exploit architectural features for AI workloads.
- Employ advanced profiling techniques and optimization strategies to continuously improve the performance of AI software.
- Combine a strong understanding of linear algebra and algorithmic proficiency to efficiently implement matrix multiplication algorithms within ML frameworks.
- Exhibit exceptional skill in optimizing AI models for diverse hardware platforms, including advanced techniques like quantization and model drafting.
- Collaborate with the AI Software leadership to define and implement a long-term strategic vision for the AI software stack.
- Possess a deep understanding of kernel optimization techniques, employing methods such as weight prefetching and vectorization to minimize execution cycles and accelerate computation.
- Advocate for maximizing the efficiency of AI algorithms and hardware utilization through a data-driven approach.
Additional Qualifications
- Experience with industry-leading AI frameworks (e.g., ONNXRuntime, PyTorch) is a plus.
- Familiarity with parallelization techniques (e.g., OpenMP, MPI) would be beneficial.