Software Engineer developing and maintaining software kernels for next-generation AI hardware. Collaborating with a team of experts to enhance AI compute capabilities in a hybrid work environment.
Responsibilities
The role requires you to be part of the team that helps productize the SW stack for our AI compute engine.
As part of the software team, you will be responsible for the development, enhancement, and maintenance of software kernels for next-generation AI hardware.
You possess experience building software kernels for HW architectures.
You possess a very strong understanding of various hardware architectures and how to map algorithms to the architecture.
You understand how to map computational graphs generated by AI frameworks to the underlying architecture.
You have had past experience working across all aspects of the full-stack toolchain and understand the nuances of what it takes to optimize and trade off various aspects of hardware-software co-design.
You can build and scale software deliverables in a tight development window.
You will work with a team of compiler experts to build out the compiler infrastructure, working closely with other software (ML, systems) and hardware (mixed signal, DSP, CPU) experts in the company.
Requirements
MS in computer engineering, math, physics, or a related degree with 10+ years of industry experience or PhD in computer engineering, math, physics, or a related degree with 1+ years of industry experience.
Strong grasp of computer architecture, data structures, system software, and machine learning fundamentals.
Proficient in C/C++ and Python development in Linux environments and using standard development tools.
Experience implementing algorithms in high-level languages such as C/C++ and Python.
Experience implementing algorithms for specialized hardware such as FPGAs, DSPs, GPUs, and AI accelerators using libraries such as CUDA, etc.
Experience in implementing operators commonly used in ML workloads—GEMMs, Convolutions, BLAS, SIMD operators for operations like softmax, layer normalization, pooling, etc.
Experience with development for embedded SIMD vector processors such as Tensilica.
Self-motivated team player with a strong sense of ownership and leadership.
Senior Software Developer developing installer components for Acronis' cyber protection software across multiple operating systems. Collaborating with teams to leverage AI tools and maintain code quality.
Lead and build a new Engagement & Retention engineering team. Drive architecture, delivery, and technical excellence in a hybrid environment based in Joinville, SC.
Senior Lead Software Engineer at Celestica designing and developing software for complex data center x86 appliances. Collaborating within teams to deliver high - quality product solutions across all levels.
Software Engineer developing automation solutions and system software for container cranes. Involved in product lifecycle from analysis to delivery in a leading global company.
Senior Engineer overseeing Manufacturing Quality Assurance to ensure compliance with regulations in medical devices. Collaborating with cross - functional teams for efficient processes and product specifications.
Senior Software Developer at Boeing shaping data strategy and ensuring compliance within the Data Governance team. Designing robust data architectures to drive innovation and efficiency.
Senior Full - Stack Software Engineer for Boeing’s FishTools program. Developing mission management systems for the Intelligence community with a focus on innovative software development.
Software Engineer developing reliable network connectivity for Cloudflare products. Collaborating with various engineering teams to enhance platform capabilities and optimize technology.
Software Engineer building and extending systems that manage traffic at Cloudflare. Working on Linux network technologies, collaborating with engineers across the company.