Current Openings

A.I Compiler Engineer

As a Compiler Engineer you will work on design and implementation of significant parts of the Nod Neural Compiler and Runtime. You will work on performance analysis and design/implementation of new optimizations passes and developing new backend targets for custom Accelerators and FPGAs

Required Skills:
BS/MS in Computer Science or Computer Engineering (PhD strongly preferred) or equivalent
6+ years of experience and strong background in compilers
Experience with compiler optimizations, working with LLVM infrastructure
Strong C/C++ programming skills, as well as a deep understanding of parallel programming models
Experience developing CUDA, DirectX, OpenGL/Vulkan applications is a plus

Sr. Software Engineer – AI Infrastructure and Parallel Computing

As an AI Framework Engineer you would be responsible for scaling out the Nod AI Framework over multiple devices on a single host and across a huge fleet of hosts in a HPC environment.

Required Skills:

MS of PhD from leading university in Computer Science and/or 5+ years of relevant industry experience
Minimum 3 years of experience developing C/C++ software, including modern C/C++ (C++14/17) and multithreading, resource management and compute graph optimization
Understanding of modern GPU architectures for parallel computing
Experience with at least one of the following frameworks: CUDA/OpenCL, OpenMPI
Apply your software architecture skills to design consistent C/C++/Python API’s, write code running on CPU, GPU and/or other accelerators
Develop robust, performant software pipelines
Experience with TensorFlow, PyTorch or JAX deep learning frameworks.
Experience working with multi-node/distributed training, data loading and image/video processing
Experience with MLIR is a huge plus.
Previous experience of scaling up and optimizing HPC, computer vision or deep learning training pipelines (Data parallel, Model Parallel, Pipeline Parallel etc) to terabyte scale datasets is a huge plus.

 

Senior Robotics / Computer Vision / SLAM Engineer

As a Senior Robotics / SLAM Engineer at Nod you’ll be developing Visual Inertial Odometry, mapping and localization techniques in C++ for embedded devices to deal with highly dynamic environments. You will research design and implement algorithms for autonomous navigation, computer vision, deep learning, sensor fusion and distributed processing. We expect creativity in identifying and integrating sensing modalities for robotics algorithms. Expect to get involved with embedded OS-level constructs such as multithreading, scheduling, I/O and resource management.

Required Skills:
– MS or PhD in Computer Science, Robotics, or a related field or BS with 5+ years applicable industry experience.
– 5+ years of practical software engineering experience with C++ in a Linux or Unix environment.
– Expert in C++ programming (C++11 experience preferred)
– Deep knowledge of modern SLAM and localization techniques.
– Experience with probabilistic filtering and nonlinear optimization techniques.
– Experience with the Machine Learning based SLAM systems.
– Experience with the Robot Operating System (ROS).
– Experience with software development on/with robotic and/or automation platforms.
– Demonstrated expertise implementing efficient and scalable software and algorithms.
– Working knowledge of a scripting language such as Python.
– Experience with a nonlinear solver such as Ceres.
– Experience reading and implementing published research.