Go Back!

Job Details


Job Code11767
: Software Engineer
: Be able to take C or C++ code (possibly out-generated from Matlab Coder) and convert the code segments identified by Offload Advisor to CUDA and/or HIP calls (NVIDIA and/or AMD) a good understanding of these calls will help us to not make unsupported calls of the XPU starting at the source code level.
: Linthicum,Maryland
: DOE
: Expected to be 06 months contract

Job Description


Primary Responsibilities:

  • Designs, develops, documents, tests and debugs applications software and systems that contain logical and mathematical solutions.
  • Conducts multidisciplinary research and collaborates with equipment designers and/or hardware engineers in the planning, design, development, and utilization of electronic data processing systems for product and commercial software. Determines computer user needs;
  • analyzes system capabilities to resolve problems on program intent, output requirements, input data acquisition, programming techniques and controls; prepares operating instructions; designs and develops compilers and assemblers, utility programs, and operating systems.
  • Ensures software standards are met.
  • An understanding of Matlab programming and use of Matlab Coder to generate C/C++ code (not necessarily a Matlab coder although that might help – the Matlab code should be done already)
  • Running Intel profiling tools, VTune and Offload Advisor to identify parts of an algorithm that would benefit from being offloaded to an accelerator.
  • These skills are not hard – it’s running commercial tools on existing software.

The most important:

  • Be able to take C or C++ code (possibly out-generated from Matlab Coder) and convert the code segments identified by Offload Advisor to CUDA and/or HIP calls (NVIDIA and/or AMD) – a good understanding of these calls will help us to not make unsupported calls of the XPU starting at the source code level.
  • An operational ability to use NVCC (NVIDIA) and HIP-clang (AMD/XPU) compilers. A desire would be someone who also understands LLVM.
  • Someone who understands IR (Intermediate Representation) in LLVM-speak.

Required Details


: 3+ years
: No
: No

Contact Details


: Anil Kumar
: 678-203-2570
: anilk@suntechnologies.com
: www.suntechnologies.com