Software Engineer - Software Engineer
Hudson
Waukesha, United States of America
6 days ago
Role details
Contract type
Permanent contract Employment type
Full-time (> 32 hours) Working hours
Regular working hours Languages
English Experience level
SeniorJob location
Waukesha, United States of America
Tech stack
C++
Profiling
Nvidia CUDA
Matlab
OpenCL
Proprietary Software
Graphics Processing Unit (GPU)
High Performance Computing
Reliability of Systems
Programming Languages
Job description
- Leverage proprietary software platform to implement image processing algorithms on GPUs. (C++/OpenCL/CUDA/OneAPI)
- Improve image chain performance using heterogeneous high-performance computing (HPC) to meet customer expectations
- Ensure quality and compliance of productized code per regulatory expectations
Detailed Requirements:
- Productized CT image processing algorithms on GPU, including ported algorithms from Matlab to GPU, or OpenCL to CUDA
- Improved image chain & algorithm performance compared to initial benchmarks
- Perform GPU profiling, identify algorithm bottlenecks, troubleshoot and resolve performance issues
- Improve GPU utilization leveraging heterogenous HPC knowledge.
- Perform testing, reliability analysis, performance benchmarks and document results
- Execute test procedures with high quality and rigor, following Good Documentation Practices
Requirements
- Programming Languages: C++, OpenCL, CUDA, OneAPI
- Image Processing Algorithms: Implementation and optimization on GPUs
- High-Performance Computing (HPC): Knowledge of heterogeneous HPC
- Profiling and Performance Analysis: GPU profiling, identifying bottlenecks, troubleshooting, and resolving performance issues
- Testing and Documentation: Performing testing, reliability analysis, performance benchmarks, and documenting results following Good Documentation Practices
Additional Experience:
Productizing Algorithms: Experience in productizing CT image processing algorithms on GPU Porting Algorithms: Experience in porting algorithms from Matlab to GPU or OpenCL to CUDA Improving Performance: Proven track record of improving image chain and algorithm performance compared to initial benchmarks Quality and Compliance: Ensuring quality and compliance of productized code per regulatory expectations