I attended the NVIDIA Tesla personal supercomputing launch on the 4th December in London. It was really interesting to meet other people using cuda and gpu based devices for solving incredibly compute intensive problems.
What some groups have managed to do in the fields of Tomography / CFD / Molecular modelling and Seismology is truly awe inspiring and its only a matter of time before they have a real inpact on the average persons life. The advances in medical imaging along with the power of Tesla is a prime example in this regard.
Wednesday, 17 December 2008
Tuesday, 16 December 2008
Bingo and CUDA
When I worked at a bingo software supplier I used to design and implement the server side systems. To most developers solving a bingo card based on a random draw seems trivial, and so it is. Factor in the following: tens of thousands of cards, very short time span to calculate results, who won, 3,2,1 to go, bonus shapes - and it soon becomes quite a challenging realtime problem. Thereafter you need to produce output which the (typically flash) client is able to read and process quickly which is a really big string handling problem (very often 10 million string pieces).
Slot Machines
Up until two years ago I worked on gaming / casino related projects. Mostly stuck on the server side making sure all the calculations added up and random numbers were properly random. But early on in my casino days I did come up with an entire end to end solution (I have to admit I did have some graphics artist help at the final stages - I should NOT be allowed to do art! ). This involved writing the client side game , server side systems and reporting / banking systems. I thought I had lost most of the code but while looking in some backups last night I came accross the original source of two of them - written entirely in assembler of course :)
Friday, 28 November 2008
Tracelight and Another 8800 GT
Last week I purchased another 8800 GT. Although I would really like a 280 GT they are just too expensive and by buying another 8800 I can play with multiple GPU code. After some initial teething problems with video drivers and my machine going blue screen all the time I have the 2 cards working happily. Unfortunately my machine dropped from x16 pcie to x8 to each card. This is not too serious for me as I don't move too much data over the bus between cycles (apart from the rendered image).
Using two cards gives a lot of flexibility as you can essentially run two kernels at once (Same or different ones). Currently I'm playing with each card rendering half the screen and then stitching them back together on the primary card.
The api I am developing for molecular visualization will now get support for multiple gpus thus fitting in rather nicely to the launch of the Tesla personal supercomputers. Somehow I got invited to the launch of these beasts next week. I'll be sure to post about that.
As mentioned in the title "Tracelight" will be the new name for "cudart" due largely to the fact that cudart.dll is a cuda dll and a lot of confusion has resulted. When I originally thought of the name I didn't realize the naming conflict. As a result there are a large amount of search hits on this site for cudart help referring to problems with the dll installation rather than ray tracing related searches.
Expect some more demos of tracelight soon from both the molecular api branch and the triangle mesh branch. It has its own domain (www.tracelight.co.uk) but for now just links back to www.bv2.co.uk
Using two cards gives a lot of flexibility as you can essentially run two kernels at once (Same or different ones). Currently I'm playing with each card rendering half the screen and then stitching them back together on the primary card.
The api I am developing for molecular visualization will now get support for multiple gpus thus fitting in rather nicely to the launch of the Tesla personal supercomputers. Somehow I got invited to the launch of these beasts next week. I'll be sure to post about that.
As mentioned in the title "Tracelight" will be the new name for "cudart" due largely to the fact that cudart.dll is a cuda dll and a lot of confusion has resulted. When I originally thought of the name I didn't realize the naming conflict. As a result there are a large amount of search hits on this site for cudart help referring to problems with the dll installation rather than ray tracing related searches.
Expect some more demos of tracelight soon from both the molecular api branch and the triangle mesh branch. It has its own domain (www.tracelight.co.uk) but for now just links back to www.bv2.co.uk
Engaged!
Although I don't usually post personal stuff on my site or anywhere on the internet for that matter I think this is worth making an exception for (and kinda explains the lack of updates in the last few weeks). An added benefit is that it becomes searchable and I cannot forget the date...
On the 18th October I got engaged :) Yes I did the one-knee thing and everything and she said "yes" :) Quite brilliant. We are getting married early next year and it has been quite a few mad weeks making arrangements. Its just incredible how far ahead venues and wedding related stuff gets booked up.
In unrelated news: BT managed to cut off my entire street for 4 / 5 days. When reporting the fault they first said: "there is nothing wrong with the line" after me insisting there was a problem I got "well you better contact your ISP as it could be there problem". This was rather amusing as they ARE my isp.... and not only was the internet dead the phone line was completely dead too. Eventually I got hold of a technician who immediately told me (literally in the first sentence) that it was not his fault. Finally after many calls to them and lots of wasted time they admitted "a fault" and then took 4 days to fix it. Still no speed increase though. We live in the m4 corridor and still only get 768kps even though they sell the product as 8mb. No competition so what do they care.... /rant
Expect more rendering related posts shortly.
On the 18th October I got engaged :) Yes I did the one-knee thing and everything and she said "yes" :) Quite brilliant. We are getting married early next year and it has been quite a few mad weeks making arrangements. Its just incredible how far ahead venues and wedding related stuff gets booked up.
In unrelated news: BT managed to cut off my entire street for 4 / 5 days. When reporting the fault they first said: "there is nothing wrong with the line" after me insisting there was a problem I got "well you better contact your ISP as it could be there problem". This was rather amusing as they ARE my isp.... and not only was the internet dead the phone line was completely dead too. Eventually I got hold of a technician who immediately told me (literally in the first sentence) that it was not his fault. Finally after many calls to them and lots of wasted time they admitted "a fault" and then took 4 days to fix it. Still no speed increase though. We live in the m4 corridor and still only get 768kps even though they sell the product as 8mb. No competition so what do they care.... /rant
Expect more rendering related posts shortly.
Thursday, 23 October 2008
Bunny!
It had to happen sooner or later... Yes thats right, a raytraced Stanford Bunny (Thanks to Standford for doing the 3d scan).
To be a little different my bunny is facing away from the camera :p I'm currently getting 1fps at 800 by 800 - which isn't too bad for just under 280 000 triangles and 2 light sources (reflections are currently turned off). I think I can increase the speed of this by quite a bit - the current problem is my acceleration structure ran out of memory hence the artifacts. Rendering a more complex scene like this has definately shown up shortcomings in my current algorithm. I have already started work on version 2 :)
For now just a screenshot...
[caption id="attachment_307" align="aligncenter" width="400" caption="Stanford Bunny at 1 fps"]
[/caption]
The nendril project took a big step forward yesterday with it becoming self aware.... just kidding! But it is now correctly firing its neurons. More updates soon.
To be a little different my bunny is facing away from the camera :p I'm currently getting 1fps at 800 by 800 - which isn't too bad for just under 280 000 triangles and 2 light sources (reflections are currently turned off). I think I can increase the speed of this by quite a bit - the current problem is my acceleration structure ran out of memory hence the artifacts. Rendering a more complex scene like this has definately shown up shortcomings in my current algorithm. I have already started work on version 2 :)
For now just a screenshot...
[caption id="attachment_307" align="aligncenter" width="400" caption="Stanford Bunny at 1 fps"]
[/caption]The nendril project took a big step forward yesterday with it becoming self aware.... just kidding! But it is now correctly firing its neurons. More updates soon.
Thursday, 9 October 2008
Finally an update!
What with work / projects / email / spore, updating the web site has definately taken a back seat recently. The good news is that I have answered every email I've been sent so if you haven't received a reply the chances are my spam filter ate it - just resend or post a comment here if this is the case.
On the project front - have a look at this screen shot...
[caption id="attachment_299" align="aligncenter" width="286" caption="721 Spheres and 2 lights with 1 level of reflection at +- 14fps"]
[/caption]
I am actually really happy with this as having 8000 objects on the screen only drops the frame rate to +-9. I can still make a lot of optimizations to it but the basic algorithm seems to be working well. Soon it will be time to switch back to triangle meshes and render something useful :) I've recorded a short video of it which is available here , unfortunately the screen capture application I use to generate the recording dropped the frame rate by +-6fps... At the start of the recording I turn reflections on and you will see the (already diminished) framerate drop accordingly. Note that the camera isn't moving - all the objects are moving.
On the project front - have a look at this screen shot...
[caption id="attachment_299" align="aligncenter" width="286" caption="721 Spheres and 2 lights with 1 level of reflection at +- 14fps"]
[/caption]I am actually really happy with this as having 8000 objects on the screen only drops the frame rate to +-9. I can still make a lot of optimizations to it but the basic algorithm seems to be working well. Soon it will be time to switch back to triangle meshes and render something useful :) I've recorded a short video of it which is available here , unfortunately the screen capture application I use to generate the recording dropped the frame rate by +-6fps... At the start of the recording I turn reflections on and you will see the (already diminished) framerate drop accordingly. Note that the camera isn't moving - all the objects are moving.
Subscribe to:
Posts (Atom)