Summary / Role Purpose
The R&D Engineer contributes to the development of software products and supporting systems. In this role, the R&D Engineer will collaborate with a team of expert professionals to accomplish development objectives.
This engineer will join the Redhawk-SC Research and Development team that creates state of the art software for semiconductor analysis. RedHawk-SC is the proven industry leader for power noise and reliability signoff for SoC designs. RedHawk-SC enables creation of high-performance SoCs that are still power efficient and reliable against thermal, electromigration (EM) and electrostatic discharge (ESD) issues for markets such as mobile, communications, high-performance computing, automotive and internet of things (IoT).
Want more jobs like this?
Get jobs in Chengdu, China delivered to your inbox every week.
RedHawk-SC is a next-generation solution built on Ansys SeaScape, the world's first custom-designed, big data architecture for electronic system design and simulation. SeaScape provides per-core scalability, flexible design data access, instantaneous design bring-up, MapReduce-enabled analytics and many other revolutionary capabilities. The R&D Engineer will have a unique opportunity to redesign or port key mathematical algorithms to GPU to significantly boost RedHawk-SC performance.
Key Duties and Responsibilities
- Designing and implementing numerical algorithms on advanced hardware capabilities on Intel x86, ARM64 and general-purpose GPUs, leveraging both hardware vectorization and multi-threading.
- Performs basic development activities, including the design, implementation, maintenance, testing and documentation of software modules and sub-systems.
- Learns and employs best practices.
- Performs basic bug verification, release testing and beta support for assigned products.
- Research problems discovered by QA or product support and develop solutions.
- Works under the close supervision of a development manager.
Minimum Education/Certification Requirements and Experience
- BS in Engineering, Computer Science, or related field
- Experience with C or C++ with broad and deep understanding of the language
Preferred Qualifications and Skills
- Technical knowledge and experience with object-oriented design, data structures, algorithms, linear algebra and high-performance computing
- Basic understanding of the software development process
- Good communication and interpersonal skills
- Experience in hardware accelerated algorithms implementations (using CUDA etc.)
- Ability to learn quickly and to collaborate with others in a geographically distributed team.
- Experience in optimizing large scale software for memory and run time.
- Experience in solving large scale linear system of equations using numerical methods.
- Development, debugging and optimization of systems using distributed processing.
- Experience with the Python programming language
- Power delivery network simulation for advanced semiconductor nodes
- Time-domain based large scale circuit simulation techniques.