Job Basket

Job: IRC98256


Job TitleHeterogeneous Computing Intern
LocationSan Jose, CA, US
Organization NameCTO
Detailed Description

Prototyping of heterogeneous computing designs

Development of prototype hybrid CPU + FPGA EDK designs. Designs consist of general purpose processors, special purpose processors, application specific accelerators as well as customized interconnect and memory architectures.


Programming of heterogeneous computing systems

Implementation of drivers and parallel programming framework APIs for hybrid CPU + FPGA designs. Implementation of applications for parallel programming framework. Benchmarking of area and performance of parallel applications.


The position is focused on the development of prototypes. Candidates should expect to work in a fast paced environment, in a small team, on a mixture of HW and SW technologies in the field of heterogeneous computing systems.

Job Requirements

Required Skills.


Candidates must have completed undergraduate studies in computer science or computer engineering focused on parallel programming models and parallel computing architectures. A completed Bachelor degree is expected.


Candidates must have implemented FPGA designs using Xilinx ISE and Xilinx EDK tools (or similar tools from other vendors) with a focus on constraints driven implementation (timing, floor plan, area). Candidates must have FPGA design simulation experience using HDL simulators and FPGA design debug experience with ChipScope. Candidates have implemented MicroBlaze systems and are intimately familiar with using interconnect IP to connect MicroBlaze to memory and I/O peripherals.


Candidates are experienced in processor micro architecture design and have implemented on an FPGA different processor architectures. Examples may include simple RISC processor, multi-threaded DSP processors, and packet classification micro engines.


Candidates have successful implemented HPC, wireless DSP, packet processing, and/or video processing applications using one or more parallel design environment (OpenCL, OpenMP, MPI, Mathworks and similar). Emphasis is placed on parallelizing for heterogeneous targets. Candidates have demonstrated experience evaluating and optimizing the compute performance of kernels and the associated communication overhead in multicore systems of the given applications.


Candidates are intimately familiar with embedded Linux and with user level vs kernel level driver development. Candidates have developed Linux hosted application libraries that program the different (multiple) computing and I/O resources of a given platform.


Desired Skills.


- Candidates have used FPGA HLS (high level synthesis) tools such as Vivado HLS.

- Candidates are familiar with the OpenCL specification and have written OpenCL applications for CPU/GPU or other target platforms.

- Candidates have programmed multicore CPU platforms using Intel TBB and similar threading packages.

- Candidates have programmed NVIDIA devices using CUDA.

Additional Details
Applicants are treated throughout the employment process without regard to race, color, religion, national origin, citizenship, age, sex, marital status, ancestry, physical or mental disability, veteran status or sexual orientation. The information requested here is not gathered for employment decisions. It is used only for compliance with Federal laws. Your responses are strictly voluntary, and any information provided will remain confidential. If you choose not to "self-identify", you will not be subject to any adverse treatment.
* Vacancy TypeIntern


TitleTypeDescriptionCategoryLast Updated ByLast UpdatedUsageUpdateDelete
No results found.

HomeJobsJob Basket
Privacy StatementCopyright (c) 2006, Oracle. All rights reserved.