Volume Convolution: VEX & C++ vs OpenCL

   2372   5   0
User Avatar
Member
1796 posts
Joined: Feb. 2012
Offline
Volume convolution on the GPU using OpenCL.

For 27M voxels using 100 iterations, OpenCL is 650 times faster than C++ and 12525 times faster than VEX.

Edited by animatrix3d - Aug. 22, 2016 11:02:05
Senior Houdini FX TD @ MPC

https://www.patreon.com/animatrix [www.patreon.com]

http://vimeo.com/pusat [vimeo.com]
http://www.linkedin.com/in/lighttd/ [www.linkedin.com]
User Avatar
Member
182 posts
Joined: July 2013
Offline
Very nice speedup…I can imagine this is Gold in Production Scenes.

How much of a lift is it from VEX syntax to OpenCL syntax?

I take it you cant generate VEX->OpenCL?
Houdini Indie
Redshift 3D
User Avatar
Member
1796 posts
Joined: Feb. 2012
Offline
Yes these prove to be invaluable in production providing unreal performance, especially on powerful GFX cards such as Quadro M6000.

Syntax is based on C99, so not that much different than VEX. It's more lower level than VEX though and you don't have some common functions that are taken for granted in VEX. Things like point clouds, ray intersections, matrices are not available out of the box.

You can't really auto generate OpenCL from VEX.

If you want this in Houdini, submit an RFE to SESI as they would put more priority if it's requested by multiple users.

A lot of SOPs (deformers, volumes/VDBs, etc) could be incredibly faster if they were rewritten in OpenCL with the ability to run them on the CPU per node. If SESI adds an OpenCL Wrangle SOP to H16, they could all be implemented using this node, which would make Houdini more open, and much much faster especially in production environments where heavy data sets are so common.
Edited by animatrix3d - Aug. 22, 2016 19:19:51
Senior Houdini FX TD @ MPC

https://www.patreon.com/animatrix [www.patreon.com]

http://vimeo.com/pusat [vimeo.com]
http://www.linkedin.com/in/lighttd/ [www.linkedin.com]
User Avatar
Member
182 posts
Joined: July 2013
Offline
Yeah, it seems like such an obvious natural progression for H to add some kind of GPU acceleration for these large structured data sets.

I dunno how much my voice can add to the topic, since I'm just an Indie user.
Houdini Indie
Redshift 3D
User Avatar
Member
1796 posts
Joined: Feb. 2012
Offline
SESI values all opinions so feel free to submit your RFEs.
Senior Houdini FX TD @ MPC

https://www.patreon.com/animatrix [www.patreon.com]

http://vimeo.com/pusat [vimeo.com]
http://www.linkedin.com/in/lighttd/ [www.linkedin.com]
User Avatar
Member
17 posts
Joined: July 2015
Offline
animatrix3d
Things like point clouds, ray intersections, matrices are not available out of the box.

Hi,

Yeah that's what I'm faced with right now. I want to compute ambient occlusion on a landscape geometry but can't figure out how to find if a ray, out from a point, intersects with some polygon on the geometry.

Do you have any good reference for this anywhere? All the code I found so far is about raytracing a scene in OpenCL.

I have to vectors for origin and direction but how do I check if they intersect with a polygon (or Volume) on the geometry?

Thx.
Christian
Edited by cs_pix - Jan. 18, 2018 19:25:20
  • Quick Links