Software Engineer - GPU performance

1 Month ago • All levels • Research & Development

About the job

Job Description

As a GPU developer, you will be responsible for optimizing the entire Vision Algorithm & Learning Software Stack for performance on GPUs. You will build and translate the code into a performance-optimized block and create mathematical models that are better represented in GPU. You will also be involved in designing debugging, profiling, and image visualization tools for GPU. This role involves breaking down the processing pipeline into optimized blocks and kernels, discovering the most efficient mathematical models for different algorithms, and building a team as the product evolves.
Must have:
  • Experienced with Low-level CUDA APIs
  • Strong C++/C fundamentals
  • Adept with Visual Studio
  • Low-level performance analysis and optimization
  • Understanding of GPU HW architecture
  • Proficiency with GPU profiling tools
  • Optimizing Time Continuous kernels
  • Designing Pipelined Image processing CUDA core optimization
  • Dynamic Load balancing between kernels and functions
  • Interleaving processing between CPU and GPU
  • Experience with NvidiaDirect
  • Constructing Direct Visualization of GPU Memory
  • Designing and optimizing foundational neural networks
  • Understanding of GPU-based application development
  • Knowledge of CUDA
  • State machine architecture
  • Realtime computing
  • Memory architectures and optimizations
  • MIMD, SIMD
Good to have:
  • Experience with Compiler working and construction
  • CPU architectures – x86, x64 & ARM
  • Hardware-associated driver development
  • OS and layers (Board Support Packages, BIOS, UEFI, BootLoader)
  • UI-based deployable application development
  • Exposure to Omniverse
Not hearing back from companies?
Unlock the secrets to a successful job application and accelerate your journey to your next opportunity.

About the job

About CynLr

Just like a baby’s brain, CynLr Visual Intelligence stack makes Robots to instinctively see & pick any object under any ambience, without any training. (a demo video link).


Today, we don’t have a robot that can fit a screw into a nut without slipping a thread. Imagine what it would take for a robot to assemble a Smartphone or a car by putting together 1000s of parts with varied shapes and weights, all in random orientations. Thus factories become complex, needing heavy customization of their environment.


CynLr enabled visual robots intuitively handles any object, even from a clutter – a universal alternative to custom machines, simplifying factory lines into modular LEGO blocks of micro-factories. Simplifying factories with robots that can pick & place any object has been a 40 year old pipe dream - touted as The Holy Grail of Robotics.


As a GPU developer, you will be responsible for building and translating the entire Vision Algorithm & Learning SW Stack into a performance-optimized code block and build mathematical models that are better represented in GPU.


Requirements in Practice:

  • Experienced with Low-level CUDA API
  • Strong with fundamentals of C++/C.
  • Adept with Visual Studio developer toolchain.
  • Experience in low-level performance analysis and optimization with a strong understanding of the GPU HW architecture and HW-oriented performance optimization.
  • including proficiency using GPU profiling tools such as NVIDIA Visual Profiler, NVIDIA Nsight Compute and Graphics Developer tools for debugging
  • Optimizing Time Continuous kernels - not just High-Level Kernel optimizations that are shipped with CUDA.
  • Design the framework of Pipelined Image processing
  • CUDA core optimization to achieve maximum performance for a pipelined processing between multiple blocks of functions executing simultaneously.
  • Dynamic Load balancing between kernels and functions.
  • Interleaving processing between CPU and GPU and runtime modification of GPU processing control flow from CPU.
  • Practice with NvidiaDirect to access memory directly from Peripheral devices (PCIe), Display and USB, bypassing the CPU
  • Practice with constructing Direct Visualization of GPU Memory for Debugging without CPU transfer
  • Experienced with designing and optimising foundational neural networks and modelling neurons (basically optimizing mathematical models that involve time-weighted kernels) ground up.
  • Exposure to Omniverse is a Plus


Must have an understanding of :

  • GPU-based application development. Knowledge of CUDA (Excellency is not necessary)
  • State machine architecture
  • Realtime computing
  • Memory architectures and optimizations.
  • MIMD, SIMD


Good to have experience and practice with

  • Compiler working and construction.
  • CPU architectures – x86, x64 & ARM
  • Hardware-associated driver development.
  • OS and layers (Board Support Packages, BIOS, UEFI, BootLoader)
  • UI-based deployable application development



Team Structure:

The engineering team will comprise of – Algo Team, GPU Team, SW Dev Team & HW Team. Members of other teams will be passive members of each team apart from the team they lead. The Algo Team will provide the Neural Models & Vision algorithms, while the GPU Team will provide the GPU optimizations for the algos, HW team will provide the HW integration and SW team with translate GPU optimized algos into SW blocks. Each team will split the implementation among other teams and guide them through the implementation. Every team member will be a passive member of all other teams.


What will you do?

Simplistically put – you will think all the algorithms that the Neuroscience team comes up with through GPU for maximum performance. You will break down the entire pipeline of processing that imitates the visual pathway into optimized blocks and kernels of processing in GPU. You will meticulously discover the mathematical models that gives the maximum timing performance for every Neural Model/algorithm that the Vision and Neuro team comes up with.

You will also be building some aspects of Debugging, profiling and Image visualizing tools for GPU.


How will you Do?

You have complete freedom here, but you will be subjected to reviews. Since this is a startup and the product is not yet well-defined, you would be the one with the responsibility of defining it. Expect things to be not orderly and requirements to not be solid. Part of your design effort largely involves requirements building too and developing architectures that are agnostic to such requirement changes. The SW part of the product significantly evolves as per your thought process and will henceforth carry your signature in it.

You will also be building a team as the product evolves to maintain and develop further. Though confined to a focused area, the work is pretty much expected to be entrepreneurial with the exact advantages and difficulties of a startup.

View Full Job Description

Add your resume

80%

Upload your resume, increase your shortlisting chances by 80%

About The Company

Karnataka, India (On-Site)

Bengaluru, Karnataka, India (On-Site)

Bengaluru, Karnataka, India (On-Site)

Bengaluru, Karnataka, India (On-Site)

View All Jobs

Get notified when new jobs are added by CynLr

Similar Jobs

Social Discovery Ventures - Product Owner, MarTech

Social Discovery Ventures, Georgia (Remote)

Tango Eye - Sr. Computer Vision Developer

Tango Eye, India (On-Site)

Sinch - Machine Learning Engineer (LLMs)

Sinch, Belgium (Hybrid)

LeoVegas - Data Scientist - Sportsbook

LeoVegas, Sweden (Hybrid)

Paypal - Senior Manager, Machine Learning

Paypal, United States (Hybrid)

Intel Corporation - Soc Physical Design-Timing Engineer

Intel Corporation, India (Hybrid)

KPIT - C++ Solution Architect/SME

KPIT, India (On-Site)

Get notifed when new similar jobs are uploaded

Similar Skill Jobs

Playrix - Game Designer

Playrix, Georgia (Remote)

Luxoft - Senior PySpark Data Engineer

Luxoft, Ukraine (Remote)

G5 Games - 2D Illustrator (Match-3 project)

G5 Games, Armenia (Remote)

Playrix - Game Designer

Playrix, Ukraine (Remote)

Intel Corporation - AI Frameworks Engineer

Intel Corporation, Ireland (Hybrid)

Intel Corporation - AI Research Engineer/Scientist

Intel Corporation, India (On-Site)

Get notifed when new similar jobs are uploaded

Jobs in Bengaluru, Karnataka, India

Codvoai - Data Scientist (Remote)

Codvoai, India (Remote)

Beckman Coulter Diagnostics - Digital Marketing Manager, HGM

Beckman Coulter Diagnostics, India (On-Site)

Zynga - Senior Manager, Engineering

Zynga, India (On-Site)

Williams-Sonoma,  Inc  - Lead Software Engineer (iOS)

Williams-Sonoma, Inc , India (On-Site)

ION - LCM Data Analyst

ION, India (On-Site)

Scanline VFX - Lead Software Engineer (Maya)

Scanline VFX, India (Remote)

Safe Security - Software Development Engineer II

Safe Security, India (On-Site)

INFRAME COLLEGE OF ART , DESIGN & BUSINESS - Jewelery design Faculty

INFRAME COLLEGE OF ART , DESIGN & BUSINESS, India (Hybrid)

CNC PETRO CHEM   - Laboratory Technician

CNC PETRO CHEM , India (On-Site)

Get notifed when new similar jobs are uploaded

Research & Development Jobs

Intel Corporation - Silicon Hardware Engineering - Intern, Graduate

Intel Corporation, United States (On-Site)

DAZN - Engineering Manager

DAZN, Poland (On-Site)

Whoop - Signal Processing Engineer II

Whoop, United States (On-Site)

Rocket - Principal Software Engineer

Rocket, India (On-Site)

Riot Games - Principal 3D Environment Artist - VALORANT

Riot Games, United States (On-Site)

Patreon - Scientist to Machine Learning Engineer

Patreon, United States (Hybrid)

Anthology  Inc  - Associate Software Engineer II

Anthology Inc , India (Hybrid)

Get notifed when new similar jobs are uploaded