Publication | Closed Access
Generating Device-specific GPU Code for Local Operators in Medical Imaging
44
Citations
10
References
2012
Year
Unknown Venue
EngineeringComputer ArchitectureMpmd ParallelismGpu ComputingImage AnalysisCompute KernelParallel ComputingComputational GeometryGpu AcceleratorsRadiologyHealth SciencesMedical ImagingComputer EngineeringComputer ScienceDevice-specific Gpu CodeMedical Image ComputingGpu ClusterBiomedical ComputingMedical Imaging ComputationsGpu ArchitectureHardware AccelerationBiomedical ImagingImage ProcessorParallel ProgrammingMedical Image Analysis
To cope with the complexity of programming GPU accelerators for medical imaging computations, we developed a framework to describe image processing kernels in a domain-specific language, which is embedded into C++. The description uses decoupled access/execute metadata, which allow the programmer to specify both execution constraints and memory access patterns of kernels. A source-to-source compiler translates this high-level description into low-level CUDA and Open CL code with automatic support for boundary handling and filter masks. Taking the annotated metadata and the characteristics of the parallel GPU execution model into account, two-layered parallel implementations - utilizing SPMD and MPMD parallelism - are generated. An abstract hardware model of graphics card architectures allows to model GPUs of multiple vendors like AMD and NVIDIA, and to generate device-specific code for multiple targets. It is shown that the generated code is faster than manual implementations and those relying on hardware support for boundary handling. Implementations from Rapid Mind, a commercial framework for GPU programming, are outperformed and similar results achieved compared to the GPU backend of the widely used image processing library Open CV.
| Year | Citations | |
|---|---|---|
Page 1
Page 1