My Bachelor Thesis Sat, Mar 29. 2014
This PDF is my Bachelor Thesis (german), the grade for the thesis is 1,3 (see this entry in wikipedia for a comparison of grades). I am pretty proud about it. Apart from diving into evolutionary algorithms, implementing these from scratch on CUDA C/C++ and applying those within the context of a specific problem domain (portfolio optimization) was a lot of fun.
It was a great opportunity to utilize the latest tech, C/C++ and CUDA ... I was able to achieve a speedup of 22 on a GPU (GTX560Ti) in comparison to one CPU core. I used Latex and the great TexMaker IDE for the text, DIA and Inkscape for drawings, etc.. Some calculations and plots were created with the R package and associated plugins. I used libeigen3 for vector-math on a single cpu core (on GPU I wrote those operations myself).
Now I am just waiting for my actual degree to arrive
It was a great opportunity to utilize the latest tech, C/C++ and CUDA ... I was able to achieve a speedup of 22 on a GPU (GTX560Ti) in comparison to one CPU core. I used Latex and the great TexMaker IDE for the text, DIA and Inkscape for drawings, etc.. Some calculations and plots were created with the R package and associated plugins. I used libeigen3 for vector-math on a single cpu core (on GPU I wrote those operations myself).
Now I am just waiting for my actual degree to arrive

CUDA Single-GPU Debugging (Breakpoints) Fri, Oct 4. 2013
I use a simple GTX 560Ti and the CUDA 5.5 SDK to write my CUDA Code
I use Ubuntu Linux 12.04 LTS as OS.
You can develop your CUDA Apps and use cuPrintf for Debugging (or even printf with the latests CUDA SDKs). That's actually good enough for 90% of all use cases.
Anyway if you want to set a breakpoint and check out the vars using NVIDIA NSight on Linux the Debugger can't break into your CUDA Kernel Code - since your X Display is utilizing the graphics Card (you can set breakpoints outside of the kernel).
My Solution
I run my XServer on another machine. I connect to the target machine via XDMCP. I ensure that the NVidia Graphics Card isn't being used on the target machine by starting Xvfb (which uses the CPU) instead of Xorg. As an XServer for Windows I recommend using VcXsrv. Since I use Windowmaker, everything is still pretty lightweight ...
The following assumes you are using lightdm as your Display Manager ..
• Enable XDMCP for lightdm via lightdm.conf
• Install XVfb .
• Modify your lightdm.conf so it doesn't try to open a local Display,but instead just uses Xvfb. Use a custom xserver-command
• Now start your XServer on Windows (or Linux) and connect to the machine via XDMCP.
This is my lightdm.conf
Actually NSight for Visual Studio 2010 is pretty cool, unfortunately single GPU Debugging doesn't work as expected.. Display flickers, etc... On the first breakpoint, the Debugger breaks
.. but you can't step... and then Windows 7 resets the Display Driver or so... But I guess most people use a Dual GPU config anyway. I am pretty happy I can work at that level using a consumer-level GPU.
Have fun
I use Ubuntu Linux 12.04 LTS as OS.
You can develop your CUDA Apps and use cuPrintf for Debugging (or even printf with the latests CUDA SDKs). That's actually good enough for 90% of all use cases.
Anyway if you want to set a breakpoint and check out the vars using NVIDIA NSight on Linux the Debugger can't break into your CUDA Kernel Code - since your X Display is utilizing the graphics Card (you can set breakpoints outside of the kernel).
My Solution
I run my XServer on another machine. I connect to the target machine via XDMCP. I ensure that the NVidia Graphics Card isn't being used on the target machine by starting Xvfb (which uses the CPU) instead of Xorg. As an XServer for Windows I recommend using VcXsrv. Since I use Windowmaker, everything is still pretty lightweight ...
The following assumes you are using lightdm as your Display Manager ..
• Enable XDMCP for lightdm via lightdm.conf
• Install XVfb .
• Modify your lightdm.conf so it doesn't try to open a local Display,but instead just uses Xvfb. Use a custom xserver-command
• Now start your XServer on Windows (or Linux) and connect to the machine via XDMCP.
This is my lightdm.conf
[XDMCPServer]This is the xserverrc2 file I use
enabled=true
[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
xserver-command=/etc/X11/xinit/xserverrc2
#!/bin/sh
exec Xvfb :0 -screen 0 1280x1024x24
Actually NSight for Visual Studio 2010 is pretty cool, unfortunately single GPU Debugging doesn't work as expected.. Display flickers, etc... On the first breakpoint, the Debugger breaks

Have fun
My BSc Thesis Wed, Sep 11. 2013
Hi everybody,
I have almost completed by BSc Informatik Studies (BSc Computer Science), and I am now writing my BSc Thesis...
It is called
which can be roughly translated to
More specifically, the financial application Domain is Modern Portfolio Theory, and it's extensions (integer constraints, Transaction costs). See Luenberger - Investment Science for an overview of the topic, and Maringer - Portfolio Management with Heuristic Optimization for the extensions.
The target platforms will be "traditional" shared memory processors (x86) using C/C++ and GPUs using CUDA.
I have three months to complete my thesis and I am starting right now..
I have almost completed by BSc Informatik Studies (BSc Computer Science), and I am now writing my BSc Thesis...
It is called
Parallelisierung von Genetischen Algorithmen für Anwendungen der Finanzwirtschaft
which can be roughly translated to
Parallelization of Genetic Algorithms for Applied Finance
More specifically, the financial application Domain is Modern Portfolio Theory, and it's extensions (integer constraints, Transaction costs). See Luenberger - Investment Science for an overview of the topic, and Maringer - Portfolio Management with Heuristic Optimization for the extensions.
The target platforms will be "traditional" shared memory processors (x86) using C/C++ and GPUs using CUDA.
I have three months to complete my thesis and I am starting right now..
« previous page
(Page 1 of 1, totaling 3 entries)
next page »