MNRT (Version 1.00)

07 Nov 2010

Finally, with this post I want to release the application I developed during the creation of my Diplomarbeit (German master thesis equivalent):

GPU-basierte globale Beleuchtung mit CUDA in Echtzeit
Neumann, Mathias
Diplomarbeit, FernUniversität in Hagen, 2010

The application is called MNRT and implements several techniques to realize fast global illumination for dynamic scenes on Graphics Processing Units (GPUs). I referenced it in several previous posts, see e.g. here or here. Please check the

Documentation of MNRT

for more details.

Currently I only provide a download link for the compiled version of MNRT (see below). However, full source code including source code documentation will be released soon, when organisational problems are eliminated.

Requirements

In a nutshell:

  • Windows OS with CUDA support, e.g. Windows XP, Vista or 7
  • CUDA capable NVIDIA GPU with compute capability of at least 1.1 (see here)
  • Up-to-date GPU drivers

Detailed version:

Right now MNRT is only available in form of a Windows executable, hence a Windows operating system is essential, preferably something like Windows XP or newer.

As MNRT is a GPU-based application, it requires a CUDA-capable GPU. More specifically, a GPU with CUDA compute capability of at least 1.1. NVIDIA’s page linked above does not reveal the compute capability of consumer graphics cards. Please check the Wikipedia page on CUDA for a list of compute capabilities for consumer graphics cards.

Alternatively you can just try to execute MNRT. It will abort execution if your system does not feature a capable GPU. But before that, I encourage you to verify that your display drivers are up-to-date.

Comments

Please note that it's not possible to submit additional comments. The comment form did not make it into this version of my site.

By: Minfeng Xu 17 Nov 2011

I have tried to run your source code in my own computer. Though I follow your instruction, I still run into a mess for the update of the third opening libraries. Especially the cuda toolkit is now version 4.0, and also I don’t know how to handle the X86 in my X64 machine. At the same time,I feel a litte hard to compile all the third libraries. It will take me a long time to implement the article [zhou et,al] 2008. I have tried to just part your program on building kd-tree with GPU,but failed. It’s really frustrated. I hope you could understand what I say and give me some advices on implementing the aritlce:Real-time KD-tree construction on graphics hardware. Thanks in advance.(A CUDA beginner whose mother language is Chinese)

By: Mathias 11 Dec 2011

Hi Minfeng Xu,

sorry for my late response. I’m not sure I can help you with your problems or whether my help is still required. But here are some thoughts you might consider helpful:

Have you checked my source code documentation, specifically the usage hints?

I would not try to compile under X64, mainly due to problems with third party libraries. For CUDA, I set up additional environment variables to point to the X86 directories of the library installation, e.g.

CUDA_LIB_PATH32 = C:\…\CUDA\lib
CUDA_BIN_PATH32 = C:\…\CUDA\bin

in addition to existing 64-bit entries

CUDA_LIB_PATH = C:\…\CUDA\lib64
CUDA_BIN_PATH = C:\…\CUDA\bin64

Regarding CUDA 4.0 I cannot say anything useful since I did not try to compile my application on any newer version of CUDA than the one mentioned on my usage hint page, i.e. version 3.1. If I can spare some time, I will try to compile using the latest versions of used third party libraries and update my usage hint page accordingly.

Regards,
Mathias