CUDA Bitmap plugin

View: New views
3 Messages — Rating Filter:   Alert me  

CUDA Bitmap plugin

by Evan Lezar :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi

As I mentioned earlier, I have gotten the Device implementation working under Linux (Bart, I have not yet had a look at the win32 CMakeList changes) and commited the changes.  I have also posted some initial benchmarks on my wiki page.

From the benchmarks it can be seen that the memory transfer overhead is the major contributor, but the CUDA plugin still  manages to kill the CPU implementation (on my ageing 3500+ at least) by a factor 20x or more in many of the cases considered.  I would like to improve the benchmark system though - so I think that will be my nexy step - although the other image processing plugins should be a breeze now.  Once the benchmark system is up to scratch, then the users out there with different hardware can start making submissions so that we can get a nice idea of the landscape.

Evan 



--
visit http://randomestrandom.blogspot.com
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
K3d-development mailing list
K3d-development@...
https://lists.sourceforge.net/lists/listinfo/k3d-development

Re: CUDA Bitmap plugin

by bART Janssens-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Friday 09 May 2008 01:03:35 Evan Lezar wrote:
> major contributor, but the CUDA plugin still  manages to kill the CPU
> implementation (on my ageing 3500+ at least) by a factor 20x or more in
> many of the cases considered.  I would like to improve the benchmark system
> though - so I think that will be my nexy step - although the other image
> processing plugins should be a breeze now.  Once the benchmark system is up
> to scratch, then the users out there with different hardware can start
> making submissions so that we can get a nice idea of the landscape.


Agreed!

In the meantime, here are some timings from my machine with the current
system, using a "Release" (optimized) build config:

Bitmap size 1024x1024
 INFO: Bitmap timing : 0.0594871
 INFO: CUDA timing : 0.00894213 | 3.50475e-05 | 0.0123601 || 0.0213373
Bitmap size 2048x2048
 INFO: Bitmap timing : 0.15617
 INFO: CUDA timing : 0.034425 | 3.50475e-05 | 0.048115 || 0.0825751
Bitmap size 4096x4096
 INFO: Bitmap timing : 0.624539
 INFO: CUDA timing : 0.134559 | 3.50475e-05 | 0.19217 || 0.326764

My GPU:
There is 1 device supporting CUDA

Device 0: "GeForce 8800 GT"
  Major revision number:                         1
  Minor revision number:                         1
  Total amount of global memory:                 536150016 bytes
  Total amount of constant memory:               65536 bytes
  Total amount of shared memory per block:       16384 bytes
  Total number of registers available per block: 8192
  Warp size:                                     32
  Maximum number of threads per block:           512
  Maximum sizes of each dimension of a block:    512 x 512 x 64
  Maximum sizes of each dimension of a grid:     65535 x 65535 x 1
  Maximum memory pitch:                          262144 bytes
  Texture alignment:                             256 bytes
  Clock rate:                                    1512000 kilohertz

My CPU is a dual core, with the stats for one core:
model name      :               Intel(R) Pentium(R) D CPU 3.00GHz
stepping        : 4
cpu MHz         : 2992.578
cache size      : 1024 KB

Regards,

Bart

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
K3d-development mailing list
K3d-development@...
https://lists.sourceforge.net/lists/listinfo/k3d-development

Re: CUDA Bitmap plugin

by Timothy M. Shead :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Evan Lezar wrote:

> As I mentioned earlier, I have gotten the Device implementation
> working under Linux (Bart, I have not yet had a look at the win32
> CMakeList changes) and commited the changes.  I have also posted some
> initial benchmarks on my wiki page.
>
> From the benchmarks it can be seen that the memory transfer overhead
> is the major contributor, but the CUDA plugin still  manages to kill
> the CPU implementation (on my ageing 3500+ at least) by a factor 20x
> or more in many of the cases considered.  I would like to improve the
> benchmark system though - so I think that will be my nexy step -
> although the other image processing plugins should be a breeze now.  
> Once the benchmark system is up to scratch, then the users out there
> with different hardware can start making submissions so that we can
> get a nice idea of the landscape.
Evan:

Really fantastic results - I appreciate your attention to detail.  It
will also be interesting to compare these results to a multi-threaded
implementation.  For those unaware, I've been doing some initial work to
parallelize the existing filters using the Intel TBB library.  So far
they've all been embarassingly parallel point-deformation modifiers, and
I should be able to knock-out a similar approach for BitmapAdd.

Cheers,
Tim


-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
K3d-development mailing list
K3d-development@...
https://lists.sourceforge.net/lists/listinfo/k3d-development