You are here: Home » Archives for Open Source
November 30th, 2009
HPMC is a small OpenGL/C/C++-library that extracts iso-surfaces of volumetric data directly on the GPU.
The library analyzes a lattice of scalar values describing a scalar field that is either stored in a Texture3D or can be accessed through an application-provided snippet of shader code. The output is a sequence of vertex positions and normals that form a triangulation of the iso-surface. HPMC provides traversal code to be included in an application vertex shader, which allows direct extraction in the vertex shader. Using the OpenGL transform feedback mechanism, the triangulation can be stored directly into a buffer object.
(C. Dyken, G. Ziegler, C. Theobalt, H.-P. Seidel, High-speed Marching Cubes using Histogram Pyramids, Computer Graphics Forum 27 (8), 2008.)
Posted in Developer Resources, Research | Tags: Open Source, OpenGL, Volume Rendering, Volumetric Reconstruction | Write a comment
November 30th, 2009
MTGP is a new variant of the Mersenne Twister (MT) pseudorandom number generator introduced by Mutsuo Saito and Makoto Matsumoto in 2009. MTGP is designed to take advantage of some features of GPUs, such as parallel execution and hi-speed constant reference. It supports 32-bit and 64-bit integers, as well as single and double precision floating point as output.
MTGP v1.0 is available now.
Posted in Developer Resources, Research | Tags: Open Source, Random Number Generation | 1 Comment
November 23rd, 2009
The 1.0 Beta version of OpenMM has just been released. OpenMM is a freely downloadable, high performance, extensible library that allows molecular dynamics (MD) simulations to run on high performance computer architectures, such as graphics processing units (GPUs). It currently supports NVIDIA GPUs and provides preliminary support for the new cross-platform, parallel programming standard OpenCL, which will enable it to be used on ATI GPUs.
The new release includes support for Particle Mesh Ewald and custom non-bonded interactions. In conjunction with this release, a new version of the code needed for accelerating the GROMACS molecular dynamics software using OpenMM is also available.
OpenMM is a collaborative project between Vijay Pande’s lab at Stanford University and Simbios, the National Center for Physics-based Simulation of Biological Structures at Stanford, which is supported by the National Institutes of Health. For more information on OpenMM, visit http://simtk.org/home/openmm.
Posted in Developer Resources, Research | Tags: Molecular Dynamics, Open Source, OpenCL | Write a comment
November 23rd, 2009
Abstract:
We report a parallel Monte Carlo algorithm accelerated by graphics processing units (GPU) for modeling time-resolved photon migration in arbitrary 3D turbid media. By taking advantage of the massively parallel threads and low-memory latency, this algorithm allows many photons to be simulated simultaneously in a GPU. To further improve the computational efficiency, we explored two parallel random number generators (RNG), including a floating-point-only RNG based on a chaotic lattice. An efficient scheme for boundary reflection was implemented, along with the functions for time-resolved imaging. For a homogeneous semi-infinite medium, good agreement was observed between the simulation output and the analytical solution from the diffusion theory. The code was implemented with CUDA programming language, and benchmarked under various parameters, such as thread number, selection of RNG and memory access pattern. With a low-cost graphics card, this algorithm has demonstrated an acceleration ratio above 300 when using 1792 parallel threads over conventional CPU computation. The acceleration ratio drops to 75 when using atomic operations. These results render the GPU-based Monte Carlo simulation a practical solution for data analysis in a wide range of diffuse optical imaging applications, such as human brain or small-animal imaging.
(Qianqian Fang and David A. Boas, “Monte Carlo Simulation of Photon Migration in 3D Turbid Media Accelerated by Graphics Processing Units,” Opt. Express, vol. 17, issue 22, pp. 20178-20190 (2009), doi:10.1364/OE.17.020178 , link to full-text PDF
A free software, Monte Carlo eXtreme (MCX), is also available at http://mcx.sourceforge.net.)
Posted in Research | Tags: Monte Carlo Simulation, Open Source, Papers | Write a comment
September 28th, 2009
OpenCurrent is an open source C++ library for solving Partial Differential Equations (PDEs) over regular grids using the CUDA platform from NVIDIA. It breaks down a PDE into 3 basic objects, “Grids”, “Solvers,” and “Equations.” “Grid” data structures efficiently implement regular 1D, 2D, and 3D arrays in both double and single precision. Grids support operations like computing linear combinations, managing host-device memory transfers, interpolating values at non-grid points, and performing array-wide reductions. “Solvers” use these data structures to calculate terms arising from discretizations of PDEs, such as finite-difference based advection and diffusion schemes, and a multigrid solver for Poisson equations. These computational building blocks can be assembled into complete “Equation” objects that solve time-dependent PDEs. One such Equation solver is an incompressible Navier-Stokes solver that uses a second-order Boussinesq model. This equation solver is fully validated, and has been used to study Rayleigh-Benard convection under a variety of different regimes. Benchmarks show it to perform about 8 times faster than an equivalent Fortran code running on an 8-core Xeon.
Read the rest of this entry »
Posted in Developer Resources, Research | Tags: Fluid Simulation, Numerics, NVIDIA CUDA, Open Source, Physics Simulation, Scientific Computing | 1 Comment
September 22nd, 2009
nHD is a multi-GPU 2nd order full Godunov three-dimensional uniform-mesh Euler equations solver for calorically ideal, compressible gas. nHD uses CUDA C with MPI and runs on a cluster of multi-GPU machines to accelerate computational hydrodynamics calculations.
Full Godunov method solves the hydrodynamic equations by discretizing the fluid and calculating the nonlinear evolution of the discretized distribution, using the analytic solutions for Riemann problems. Thus full Godunov method can resolve arbitrary severe shockwaves with minimum artificial dissipation and oscillation, and is the irreplaceable method for simulations of compressible fluid where shockwaves and vacuums are naturally generated from fluid motions.
nHD is open source under a BSD-style license and is available, and comments are welcome at http://code.google.com/p/astro-attic/wiki/NHDIntroduction.
Posted in Developer Resources, Research | Tags: Clusters, Libraries, NVIDIA CUDA, Open Source, Scientific Computing | 1 Comment
September 11th, 2009
Thrust (v1.1) is an open-source template library for developing CUDA applications. Modeled after the C++ Standard Template Library (STL), Thrust brings a familiar abstraction layer to the realm of GPU computing. Version 1.1 adds several new features, including:
To get started with Thrust, first download Thrust and then follow the online tutorial. Refer to the online documentation for a complete list of features. Many concrete examples and a set of introductory slides are also available. As the following code example shows, Thrust programs are concise and readable. Read the rest of this entry »
Posted in Developer Resources | Tags: Data-Parallel, Libraries, NVIDIA CUDA, Open Source, Parallel Algorithms, Sorting | Write a comment
September 7th, 2009
OpenMM is an open-source library that enables molecular dynamics (MD) simulations to be accelerated on high performance computer architectures, such as GPUs. This latest release adds support for:
- A complete set of C and Fortran wrappers
- Energy computations on GPUs
- Ewald summation
- A faster algorithm for handling constraints
- And more!
Download the latest version of OpenMM from http://simtk.org/home/openmm.
Posted in Developer Resources, Research | Tags: Computational Chemistry, Libraries, Molecular Dynamics, Open Source | Write a comment
August 6th, 2009
Brook+, AMD’s extension of the BrookGPU programming environment, has been released in full source code to SourceForge. Brook+ supports an ATI CAL and x86 CPU backend, and allows developers to program GPUs in a C-like stream computing language.
Posted in Developer Resources | Tags: AMD CAL, Open Source, Programming Languages, stream programming | Write a comment
July 30th, 2009
Ocelot, developed at Georgia Tech, seeks to develop a set of tools that enable the low level analysis of GPGPU applications as well a providing a JIT compiler for generic architectures. Ocelot currently provides an implementation of the NVIDIA CUDA runtime, capable of running the entire CUDA 2.2 and 2.1 SDKs.
Ocelot features include a memory checker similar to valgrind, detection mechanisms for non-coalesced memory accesses, full device emulation, and a number of useful debugging and performance tuning features. The Roadmap lists future developments.
Ocelot is available at google code, and a number of papers have been published.
Posted in Developer Resources, Research | Tags: Debugging, Libraries, NVIDIA CUDA, Open Source, Papers | Write a comment