Graphics Processing Units (GPUs) are powerful computing devices that with the advent of CUDA/OpenCL are becomming useful for general purpose computations. Obsidian is an embedded domain specific language that generates CUDA kernels from functional descriptions. A symbolic array construction allows us to guarantee that intermediate arrays are fused away. However, the current array construction has some drawbacks; in particular, arrays cannot be combined efficiently. We add a new type of push arrays to the existing Obsidian system in order to solve this problem. The two array types complement each other, and enable the definition of combinators that both take apart and combine arrays, and that result in efficient generated code. This extensio...
Graphics processors are significantly faster than traditional processors, particularly for numerical...
Emerging GPU architectures for high performance comput-ing are well suited to a data-parallel progra...
Purely functional, embedded array programs are a good match for SIMD hardware, such as GPUs. However...
Graphics Processing Units (GPUs) are powerful computing devices that with the advent of CUDA/OpenCL ...
Obsidian is a domain specific language for data-parallel programming on graphics processors (GPUs). ...
Graphics Processing Units (GPUs) are evolving into powerful general purpose computing platforms. At ...
Graphics Processing Units (GPUs) offer potential for very high performance; they are also rapidly ev...
AbstractObsidian is a domain specific language for data-parallel programming on graphics processors ...
We present a domain specific language, embedded in Haskell, for general purpose parallel programming...
Graphical Processing Units (GPUs) are known to be excellent computation accelerators. However, their...
GPGPU (general purpose computing on graphics processing units) programming is one interesting way to...
GPUs have been gaining popularity as general purpose parallel processors that deliver a performance ...
Obsidian is a domain specific language for general purpose computations on graphics processing units...
It is well acknowledged that the dominant mechanism for scaling processor performance has become to ...
Computers today are becoming more and more parallel. General purpose processors (CPUs) have multipl...
Graphics processors are significantly faster than traditional processors, particularly for numerical...
Emerging GPU architectures for high performance comput-ing are well suited to a data-parallel progra...
Purely functional, embedded array programs are a good match for SIMD hardware, such as GPUs. However...
Graphics Processing Units (GPUs) are powerful computing devices that with the advent of CUDA/OpenCL ...
Obsidian is a domain specific language for data-parallel programming on graphics processors (GPUs). ...
Graphics Processing Units (GPUs) are evolving into powerful general purpose computing platforms. At ...
Graphics Processing Units (GPUs) offer potential for very high performance; they are also rapidly ev...
AbstractObsidian is a domain specific language for data-parallel programming on graphics processors ...
We present a domain specific language, embedded in Haskell, for general purpose parallel programming...
Graphical Processing Units (GPUs) are known to be excellent computation accelerators. However, their...
GPGPU (general purpose computing on graphics processing units) programming is one interesting way to...
GPUs have been gaining popularity as general purpose parallel processors that deliver a performance ...
Obsidian is a domain specific language for general purpose computations on graphics processing units...
It is well acknowledged that the dominant mechanism for scaling processor performance has become to ...
Computers today are becoming more and more parallel. General purpose processors (CPUs) have multipl...
Graphics processors are significantly faster than traditional processors, particularly for numerical...
Emerging GPU architectures for high performance comput-ing are well suited to a data-parallel progra...
Purely functional, embedded array programs are a good match for SIMD hardware, such as GPUs. However...