Off-topic CUDA

Next
 From:  Paolo (PAOLOLOBBIA)
2256.1 
Hi Michael,

It's about parallel processing using a GPU graphics card
Maybe interesting for version 3 of Moi

parallel compute engine in NVIDIA graphics processing units (GPUs)
http://www.nvidia.com/object/cuda_get.html

http://www.nvidia.com/object/product_tesla_c1060_us.html
This is a GPU unit without video outputs
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
2256.2 In reply to 2256.1 
Hi Paolo, re: CUDA / nVidia Tesla - it is interesting, but requires that special hardware.

It is a pretty big goal for MoI to be focused on working on much more ordinary and modest hardware, so something like that Tesla machine is not really aligned with that goal at all, really it is opposite of that goal. So I probably won't be targeting that with MoI anytime soon.

However, multi-core CPUs are far more common than that. I do plan on leveraging multi-core CPUs and in fact the next v2 beta will now take advantage of multiple cores when doing export meshing.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Paolo (PAOLOLOBBIA)
2256.3 In reply to 2256.2 
Hi Michael,

I guess the use of Multi-core CPUs will benefit Boolean operations,
but i was more thinking about the meshing parameters

For example I draw the parts of the model steam engine which i put
i the Moi gallery
Normally i use a mesh angle of 5 degrees,showing a smooth surface
For the Drive chain i had to set it to 15 because i think the videocard
(Nvidia 7600gt) was suffering

So a more powerfull videocard is on my wishlist
Below the 3dm file
Attachments:

Image Attachments:
Size: 32.8 KB, Downloaded: 45 times, Dimensions: 315x627px
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
2256.4 In reply to 2256.3 
Hi Paolo - actually CUDA though is not generally intended specifically for real-time rendering.

For standard real-time rendering the normal Direct3D programming interface that MoI already uses will handle that.

CUDA is for using the processing units on the video card for other kinds of computation tasks than standard rendering. Sort of like treating the video card as a special multi-core CPU that is good at handling a large number of simple parallel tasks.


> Normally i use a mesh angle of 5 degrees,showing a smooth surface
> For the Drive chain i had to set it to 15 because i think the videocard
> (Nvidia 7600gt) was suffering

Actually I would not normally recommend setting that below the default 10 degrees, as the default already generates a very dense mesh.

At 5 degrees it is going to create an extremely dense and high polygon display mesh.

I do plan on improving the display meshing for higher density scenes, I think I will probably try to manage the density more automatically and make the meshes become coarser more automatically as scene density increases. I may also be able to experiment with something like producing a coarse and light mesh initially and then produce some higher density ones in the background up to a certain allowance in density.


But generally CUDA is not going to solve the problem that you are talking about here, it is for something different. It is meant as a sort of alternative way to do general calculations rather than doing them on the CPU.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Paolo (PAOLOLOBBIA)
2256.5 In reply to 2256.4 
Ok Michael,

>>as scene density increases
Looking forward to it

PS: i got the link about CUDA from 3d-coat

http://3dbrush.kriska.hvosting.net/forum/index.php?showtopic=1412
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
2256.6 In reply to 2256.5 
Hi Paolo,

> PS: i got the link about CUDA from 3d-coat

I don't know the exact details, but I believe that 3d-coat needs to do some different kinds of processing on a very large quantity of very simple items (voxels).

I would think that he would use CUDA for different kinds of calculations or processing of the voxels, possibly including mesh generation, but it is not likely to be used for the actual direct rendering of polygons which is what you seem to be thinking of?

The kind of data that MoI uses - trimmed NURBS surfaces is not very similar to a voxel.

Unfortunately, something that applies well to voxel processing does not automatically apply easily to NURBS data processing.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Grendel
2256.7 
Great to here the multi-processor use for export meshing soon, thank you
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Paolo (PAOLOLOBBIA)
2256.8 In reply to 2256.6 
Ok Michael,

Thanks for your point of view,
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
 From:  Michael Gibson
2256.9 In reply to 2256.7 
Hi Grendel,

> Great to here the multi-processor use for export meshing soon, thank you

You're welcome! It's looking good so far, there are some other parts to it in addition to the multi-core part - today I'll be working on some more general purpose optimizations that should help speed it up separate from that, and also the UI of the meshing dialog no longer freezes up while the meshing is being calculated. So you can do something like change a meshing parameter without needing to wait for the current mesh calculation to completely finish first. Now when you change a parameter, that will automatically cancel the current calculation in progress and start a new one.

It's a lot smoother operation for exporting, I was figuring that this area needed some attention pretty badly.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All