Previous Job
Parallel Programming Application Developer
Ref No.: 18-07583
Location: Hudson, Massachusetts
Job Description:

The candidate will develop parallel applications on FPGA, benchmark and identify potential bottlenecks between the host application and the device kernel(s) or in the kernels.
The candidate will implement application prototypes and advanced concepts in OpenCL as well as parallelize OpenCL applications using the concept of pipelining to use several FPGAs.

The candidate will:
1. Develop and implement prototype OpenCL programs and advanced concepts working with or under the guidance of architects.
2. Implement and parallelize OpenCL applications to use several FPGAs using the concept of pipelining.
3. Enable an existing Deep Learning framework such as Tensorflow to take advantage of parallel concepts.
4. Perform benchmarking of applications as well as debug potential performance bottlenecks and optimize applications as needed.

Required Skills, not limited to the following:
• Proficient at developing parallel applications or algorithms with MPI and OpenMP from "scratch".
• In-depth familiarity with AI and DL
• Experience with Tensorflow including as a user, developer, etc. Good understanding of Training and Inference algorithms as well of communication patterns in the various graph
• Experience in all aspects of developing OpenCL programs for FPGAs (e.g. debugging, profiling, performance optimization, etc.)
• In-depth familiarity with Altera FPGAs and toolset.
• Team working skills
• Good communication and interpersonal skills
• Hands-on candidate needed
*The work day starts between 8 and 9am. No exceptions

Minimum education: MUST have a Master degree or higher in Computer/Electrical Engineering.

Submit Local candidates only