Company Description
Astreya is the leading IT solutions provider to deliver technology-enabled services and fuel digital transformation to some of the most exciting companies on the planet. We are at the cusp of a new way of working with our delivery model that helps our clients be positively productive by matching exceptional people to on-site teams delivering world-class IT service. With engineers in over 30 countries and 70 cities around the world, we are a global company working with the world's most recognizable and innovative organizations
What this Job Entails:
The Research Engineer designs develop, tests debugs and implements software applications for heterogeneous chip architectures. You will drive innovation in high-performance computing and machine learning applications being built on top of leading hardware architectures. You will actively contribute to a wider research team by sharing your findings and ideas with other engineers and collaborating on new solutions.
Roles and Responsibilities:
- Research new software engineering models for current and future heterogeneous chip architectures for High-Performance Computing (HPC) applications and Machine Learning (ML) based applications to enable efficient implementations on specified hardware sets.
- Research programming data types to evaluate accuracy and cost trade-offs for the proposed data types.
- Perform automation analysis for optimal partitioning/mapping of HPC/ML applications on current chip architectures.
- Perform research on a compiler that builds on top of the Multi-level Internal Representation (MLIR) open-source framework.
- Explore new ways to address increasing performance and efficiency demands in different application domains.
- Develop new tools, methods, and processing schemes to distil application models for a target hardware platform.
- Design and implement software of embedded devices and systems from requirements to deployment.
- Perform hardware-level unit tests and performance evaluations through simulation methods or provided proprietary development hardware.
- Review design, code, and build scripts to ensure all pass compiler functional unit tests.
- Configure and integrate third-party software components and technologies as required.
- Lead the review and development of research documentation including design documents, test plans, technical reports, publications, and presentations.
- Train and mentor other engineers on the team.
- Work with stakeholders and cross-functional teams on projects and initiatives.
Required Qualifications/Skills:
- Bachelor’s degree (B.S/B.A) from four-college or university and 8+ years of related experience and/or education in Electrical Engineering or Computer Science/ Engineering.
- Demonstrated experience and knowledge of system performance analysis, high-performance computing applications, and machine learning models.
- Hands-on experience with developing applications in C/C++, Verilog, Python and Shell Scripting, and Assembly Language.
- Deep understanding of computer architecture, hardware concepts and algorithms.
- Experience developing, optimizing and implementing hardware efficient algorithms.
- Experience contributing to open-source projects and frameworks.
- Demonstrated strong analytical skills with an understanding of signal processing algorithms, linear algebra and numerical data types.
- Ability to independently research, debug, document and resolve embedded system issues.
- Proven experience with functional unit testing, integration testing, and performance testing of embedded systems and applications.
- Experience using system board test equipment.
- Ability to collaborate and work remotely including the use of communication tools
- Excellent organizational skills with the ability to multitask, prioritize, and track many activities
- Proven communication, teamwork, and problem-solving skills.