NUDA / News: Recent posts

NUDA v0.0.6 (beta) is available

- automated use of local/shared memory with ulocal() annotation
- using .NET arrays in device programs efficiently with libgpuvm
- GPU programs spanning multiple assemblies, including dynamically loaded ones
- reduction in GPU loops with nured() annotation
- ... and other features

Posted by Andrew V. Adinetz 2012-05-16

NUDA v0.0.5 (alpha) is available

- non-GPU devices supported
- user-defined operators on device
- overloaded functions on device
- images supported
- teams of threads with global sync on device
- ... and other features

Posted by Andrew V. Adinetz 2011-04-13

NUDA v0.0.4 (alpha) is available

- gws % lws != 0 handled correctly
- tuples supported in device code
- continue inside nuwork() loops
- return and return <expr> in device code
- map() data performance primitive
- other changes and samples

Posted by Andrew V. Adinetz 2010-11-23

NUDA v0.0.3 (alpha) is available

- performance info and annotations added to some samples
- improved performance of many samples
- printing program binaries
- nucopy copying between NUDA arrays

Posted by Andrew V. Adinetz 2010-10-08

NUDA v0.0.2 (alpha) is available

new features:

- pointer arithmetics and conversion in NUDA kernels
- OpenCL profiling of NUDA kernels and arrays
- varies() macro for generating variants of code
- peel() annotation for peeling nfor() loops

Posted by Andrew V. Adinetz 2010-09-17

NUDA initial alpha - version 0.0.1

NUDA project alpha, version 0.0.1 is available.

Source code: https://sourceforge.net/projects/nuda/files/nuda.tar.gz/download
Documentation: https://sourceforge.net/projects/nuda/files/extran-guide.pdf/download

Features:

- programming GPUs with subset of Nemerle language (http://nemerle.org)
- support for OpenCL GPUs (includes both NVidia and AMD)
- annotations for sending loops to GPU
- GPU-side arrays
- support for multiple GPUs
- automatic command-line arguments (see documentation)
- a number of loop-transforming annotations (see documentation)

Posted by Andrew V. Adinetz 2010-08-30

NUDA project created

NUDA (= Nemerle Unified Device Architecture) is a set of extensions for Nemerle programming language to facilitate GPU programming and writing HPC applications. Its main purpose is to experiment with extensible languages for HPC applications.
Currently, a number of features are supported. You can write GPU code in a subset of Nemerle language. You can send a loop to a GPU with a single annotation. The GPU code you write gets translated into OpenCL, so both NVidia and AMD GPUs are supported. GPU-side arrays with garbage collection are supported, as are multiple GPUs. And there's also a couple of other useful features, such as automatic command-line arguments. Try and enjoy!

Posted by Andrew V. Adinetz 2010-08-30