Software Engineer- Hetrogeneous Computing

Job Type: Full Time

Location: Danvers, MA

Job Summary:

Our client who has a growing presence in the radiology field , develops, manufactures, and markets imaging technologies to healthcare institutions worldwide. Our Client is looking for a Software Engineer who is  responsible for the development and delivery of signal processing software within the Company’s CT and other medical device products, utilizing C/C++, multicore CPU, and GPU based processing, with demonstrated mastery of CUDA driver API and/or OpenCL for streaming image processing applications.

ESSENTIAL DUTIES AND RESPONSIBILITIES

  • Perform all phases of software development: requirements, design, implementation, verification, and release, which includes manufacturing testing and support.
  • Develop C/C++ applications that utilize GPU processing techniques to hasten software throughput
  • Work closely within a small development team to troubleshoot development & production environments, performance tune, and optimize reconstruction computer systems
  • Develop and execute test procedures
  • Develop supporting design documentation
  • Technical leadership in writing code, code architecture, peer reviewing code, and developing requirements and system architecture is expected
  • Provide regular status reports, written and/or verbal, to cross-functional project team members

EDUCATION & EXPERIENCE

  • BS in Computer Science, Computer Engineering, or equivalent professional experience
  • 3+ years of experience preferred
  • Strong programming skills in C/C++, with proficiency in C++14.
  • Mastery of CUDA driver API and/or OpenCL.
  • Experience with CPU/GPU profiling and debugging tools, especially nvvp, gdb, and MSVS tools.
  • Experience with cross platform development (specifically between Linux and Windows)
  • Experience in software design and architecture, especially for multithreaded streaming application
  • Experience with ray casting and/or computer vision algorithms a major plus.
  • Knowledge of low-level operating systems, specifically memory/resource management, scheduling and process control, and hardware virtualization

 

No Comments Yet.

Leave a comment