Coder Social home page Coder Social logo

g4idrijs / gpunufft Goto Github PK

View Code? Open in Web Editor NEW

This project forked from guokr1991/gpunufft

0.0 1.0 0.0 81.33 MB

gpuNUFFT - An Open-Source GPU Library for 3D Gridding with Direct Matlab Interface

Home Page: http://cai2r.net/resources/software/gpunufft-open-source-gpu-library-3d-gridding-direct-matlab-interface

License: Other

Python 0.80% CMake 3.27% Batchfile 0.04% C++ 61.35% Cuda 30.87% M 0.02% MATLAB 3.65%

gpunufft's Introduction

gpuNUFFT - GPU Regridding of arbitrary 3-D/2-D MRI data

  • Andreas Schwarzl - andy.schwarzl[at]gmail.com
  • Florian Knoll - florian.knoll[at]nyumc.org

INFO:

GPU 3D/2D regridding library with MATLAB(R) Mexfile output. Go to the subdirectory CUDA to compile the mexfiles.

REQUIREMENTS:

CMAKE Options:

  • GEN_ATOMIC : DEFAULT ON, enables fast library using atomic operations
  • WITH_DEBUG : DEFAULT OFF, enables Command-Line DEBUG output
  • WITH_MATLAB_DEBUG : DEFAULT OFF, enables MATLAB Console DEBUG output
  • GEN_TESTS : DEFAULT OFF, generate Unit tests

Prior to compilation, the path where MATLAB is installed has to be defined in the top level CMakeLists.txt file, e.g.:

SET(MATLAB_ROOT_DIR "/home/florian/Programs/MATLAB/R2012b" CACHE STRING "MATLAB Installation Directory")

Alternatively, it can be passed as command line argument when calling cmake, e.g.:

cmake .. -DMATLAB_ROOT_DIR=/path/to/matlab

LINUX, using gcc:

build project via cmake, starting from project root directory:

> cd CUDA
> mkdir -p build
> cd build
> cmake ..
> make

Note: This version of gpuNUFFT was tested with CUDA 5.0. NVIDIAs nvcc compiler did not support gcc 4.7 or higher at this time. It is therefore suggested to compile gpuNUFFT with gcc 4.6. One comfortable way to toggle between gcc/g++ versions is to use the update-alternatives tool.

Screencast: Alternatively follow the installation and usage instructions for Linux:

Linux Installation


WINDOWS, with Visual Studio:

Setup a working version of Visual Studio Community 2013 or use the Visual Studio professional edition if available. Generate the project solution using the CMake-GUI or from command line by starting from the project root directory:

> cd CUDA
> mkdir build 
> cd build
> cmake .. -G "Visual Studio 12 2013 Win64"
> Build created Solution gpuNUFFT.sln using Visual Studio

For the Win64 platform check that all necessary Visual Studio Add-ons are installed correctly and a Win64 dummy project can be created using VS.

Screencast: Alternatively follow the installation and usage instructions for Windows:

Windows Installation


Run:

The compiled CUDA-mexfiles will appear in the bin directory and are also copied automatically into the gpuNUFFT/@gpuNUFFT/private directory . Include the gpuNUFFT directory into the matlab search path, in order to run the provided demo example.


Doc:

To generate the source code documentation run

> make doc

in the build directory.

Note: Requires doxygen to be installed.

Supporting material

Written documentation and presentations can be found here.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.