We are building the world’s most advanced, AI edge inference engine. We have core processor technology that is modular, low power and high performance among peer companies. We are now scaling our engineering team to build products to address various markets’ needs (Automotive, IOT etc.)
About the role:
AlphaICs is looking for a world-class AI/Deep Learning Software Engineer to design and implement highly efficient software library to accelerate neural network based deep learning algorithms. In this role, you will work with software architects, system architects and also with hardware engineers to come up with high performance software library in the AI world, collaborate with engineers to implement, and validate them on the hardware accelerator.
If you are someone with a good understanding of deep learning, high performance computing, and you enjoy working at the intersection of hardware and software, this role may be a great one for you. We are at the forefront of this industry space and would love a chance to talk to you about the work we are doing.
Day-to-day responsibilities include:
- Study and develop cutting-edge techniques in deep learning, graphs, machine learning, and data analytics, and perform in-depth analysis and optimization to ensure the best possible performance on current and next-generation RAP (Real AI Processor) architectures.
- Work directly with key customers to understand the current and future problems they are solving and provide the best AI solutions using RAP.
- Collaborate closely with the architecture, research, libraries, tools, and system software teams at AlphaICs to influence the design of next-generation architectures, software platforms, and programming models.
- Build and maintain deep learning libraries, using C++ and object-oriented design.
- Maintain and test environments for new hardware, and platforms, including simulators and emulators for enabling future hardware and chips that are not available in silicon.
- Apply software development processes, define public APIs, new algorithm creation and implementation, performance tuning and analysis.
You should apply for this role if you have the following qualifications:
- 5-10 years of experience in Deep Learning / High Performance computing/ System software development.
- A good degree from a leading university in an engineering or computer science related discipline (BS or MS).
- Strong knowledge of C/C++, Python programming, software/systems design, programming techniques, and AI algorithms.
- Knowledge of software engineering practices and software design principles.
- Build and maintain integrations of low-level GPU assembly kernels into deep learning libraries, using C++ and object-oriented design.
- Skilled in C++ multi-threading, algorithms, data structures on Linux platform.
- Strong in debugging, performance analysis, and test design.
- Prior experience with low-level programming in assembly and performance tuning.
- Knowledge of CPU and/or GPU architecture. Experience with parallel programming [CUDA or OpenCL strongly preferred].
- Being proficient in AWS or Azure cloud computing environments as well as edge computing principals and architecture is an added advantage.
- Understanding of deep learning or machine learning ways to stand out from the crowd.
- Strong communication and organization skills, with a logical approach to problem solving, good time management, and task prioritization skills.