how much gpu memory openCL(pyro) can handle?

   15954   25   3
User Avatar
Member
102 posts
Joined: March 2013
Offline
Hi every one
I use a 6GB card to did some test for pyro with openCL. in this test I enable auto resize so that the memory used will increase slowly, but when gpu memory used go to about 4GB the sim stop.
it's mean 4GB is the maximum openCL can handle?

just want to know how much memory openCL can handle, because I'm plan to buy a new card but confuse buy a 4GB or 6GB+ one
User Avatar
Member
4189 posts
Joined: June 2012
Offline
OpenCL can run on the GPU or CPU, each limited by an amount of Ram. OpenCL on the GPU is much more limited, because of usually smaller amount of Ram, than OpenCL on the CPU. GPU does have performance advantages though!

Edit:The amount of Ram available for OpenCL on the GPU will be less when also used as a display(I believe but haven't tested)

This thread is good for OpenCL memory:

http://www.sidefx.com/index.php?option=com_forum&Itemid=172&page=viewtopic&t=30335&highlight=opencl+memory [sidefx.com]

Documentation link for enabling OpenCL on CPU:
http://www.sidefx.com/docs/houdini13.0/news/13/opencl [sidefx.com]
User Avatar
Member
166 posts
Joined: March 2013
Offline
Is there any benefit on using OpenCL on the CPU rather than running normal? It does say it can be 1.5-3x faster, but if anyone has actually compared. Or would it be even better to just skip Windows alltogether and run on Linux?
User Avatar
Member
383 posts
Joined: June 2010
Offline
Skybar
Is there any benefit on using OpenCL on the CPU rather than running normal? It does say it can be 1.5-3x faster, but if anyone has actually compared. Or would it be even better to just skip Windows alltogether and run on Linux?
It depends on your cpu. We have some linux workstations with 64 cores and they greatly benefit from opencl on cpu compared to native on cpu.
www.woogieworks.at
User Avatar
Member
268 posts
Joined: July 2010
Offline
Hey how do you use opencl on the CPU?
Director @ Valkyrie Beowulf
www.vwulf.com
https://linktr.ee/neilrognvaldrscholes [linktr.ee]
User Avatar
Member
383 posts
Joined: June 2010
Offline
I use houdini on gentoo linux and there I do just do
eselect opencl -> amd/cpu
and I think houdini has to be started with a commandline option I cant remember at the moment, to enable opencl on cpu ..
but I found the flag here on the forum some weeks ago ..
Edited by - Feb. 5, 2014 09:26:19
www.woogieworks.at
User Avatar
Member
268 posts
Joined: July 2010
Offline
Ahh ok cheers for that ill have a hunt for that ref
Director @ Valkyrie Beowulf
www.vwulf.com
https://linktr.ee/neilrognvaldrscholes [linktr.ee]
User Avatar
Member
4189 posts
Joined: June 2012
Offline
Neil78
Hey how do you use opencl on the CPU?

Set
HOUDINI_OCL_DEVICETYPE=CPU

but very importantly is using the Intel’s OpenCL SDK, which means:
http://www.sidefx.com/docs/houdini13.0/news/13/opencl [sidefx.com]
User Avatar
Member
4189 posts
Joined: June 2012
Offline
Skybar
Or would it be even better to just skip Windows alltogether and run on Linux?

In light testing Linux is 10-20% more efficient than Windows overall. Using the Intel OpenCL SDK on Windows & Linux improves both similarly.
User Avatar
Member
102 posts
Joined: March 2013
Offline
wow! thank your information.
User Avatar
Member
65 posts
Joined: Feb. 2013
Offline
It works perfectly here! I've a i7 4770K and there's my personal bench:
open Houdini -> ctrl+sphere -> volcano -> ctrl+Right Arrow (it jumps to the last frame: 240)
CPU = 1m 23s
CPU w/OpenCL = 1m 02s
GPU (ATI 7980 3GB) = 33s
(using H13.0.260)

EDIT:
oh! and W7
next tests will be with newer version (downloading right now) and I also want to make a dual bot system with mint 16. About that: I'm new to linux, witch version should I choose? In mint's site the KDE description says “Solid, full-featured, polished”: is that “full-featured” saying that is more complete than the other version so I'll have less problems as beginner?
User Avatar
Member
4189 posts
Joined: June 2012
Offline
merlino3d
About that: I'm new to linux, witch version should I choose? In mint's site the KDE description says “Solid, full-featured, polished”: is that “full-featured” saying that is more complete than the other version so I'll have less problems as beginner?

Nice work on the OpenCL!


Linux, I hear that Mint is very good. Also consider Ubuntu/Kubuntu as there are lots resources on the web when you need to fix things up.
User Avatar
Member
65 posts
Joined: Feb. 2013
Offline
Thanks Marty!

So I'll start with Ubuntu/Kubuntu, I think I'll need some help from the community so more resource it's better for me!

Right now, I'm trying to touch my GPU's memory limits. It is cooking right now Just a question: in a simulation like the volcano preset we have density, vel (x,y,z), temperature, fuel, heat and so on, anyone is stored in the GPU memory or just some of them?
User Avatar
Member
4189 posts
Joined: June 2012
Offline
It'll be best to run some tests as I'm on the OsX platform which currently has OpenCL disabled.

To test the memory usage stats set
HOUDINI_OCL_REPORT_MEMORY_USE=1

The try individually turing those setting on and off to see the effect; a dialog box should appear with the memory consumption, and, let us know how it goes

User Avatar
Member
65 posts
Joined: Feb. 2013
Offline
MartybNz
To test the memory usage stats set
HOUDINI_OCL_REPORT_MEMORY_USE=1

Wow! That's good! (and … where can I find all those interesting flags? It's there any documentation?)

Starting with the same sim I've done before leaving all standard parameters. The final containers are 95 x 110 x 91
I've run 2 times as I can't understand why the “total memory allocated” and the “In Memory Pool” are so different and was thinking I've make a mistake:
CPU OpenCL report #1

===========OpenCL Memory Usage===========
Total Memory Allocated: 4093 MB
In Memory Pool: 4066 MB
# of Buffers in Memory Pool: 5217
In InUse List: 0 MB
Active Memory: 27 MB

CPU OpenCL report #2

===========OpenCL Memory Usage===========
Total Memory Allocated: 4092 MB
In Memory Pool: 4066 MB
# of Buffers in Memory Pool: 5217
In InUse List: 0 MB
Active Memory: 26 MB

AND the memory usage of the application is about 9GB

GPU OpenCL report #1

===========OpenCL Memory Usage===========
Total Memory Allocated: 253 MB
In Memory Pool: 228 MB
# of Buffers in Memory Pool: 237
In InUse List: 0 MB
Active Memory: 24 MB

GPU OpenCL report #2 = #1

AND the memory usage of the application is almost 5GB
User Avatar
Member
4189 posts
Joined: June 2012
Offline
You can see Houdini flags from the terminal: hconfig -a
User Avatar
Member
65 posts
Joined: Feb. 2013
Offline
MartybNz
You can see Houdini flags from the terminal: hconfig -a

Thanks! Really interesting!

back to 3GB GPU limits:

I just changed the pyro Division Size from 0.15 to 0.05 so the final containers res (after 240 frames simulation) is 163 x 383 x 197 = 12 298 513 voxels and this is the last memory report:

===========OpenCL Memory Usage===========
Total Memory Allocated: 544 MB
In Memory Pool: 249 MB
# of Buffers in Memory Pool: 7
In InUse List: 0 MB
Active Memory: 294 MB

Application's memory usage is almost 9GB

At this point if I double the res using 0.025 it should go out of memory, as the 544 MB should go to 544 x 8 = 4352 MB … let's try!

EDIT:

Ok, it crashes! But way before I expected: on frame 45 my pc crashes with a blue screen.
So there is the complete report from frame 43 to 44 (no substeps)
It seems like it uses a maximum 1GB of memory (Total Memory Allocated) so I loose something, maybe that's for every container that make use of OpenCL (and I don't know witch one make use and witch one doesn't)
At frame 44 the containers res is 248 x 352 x 254 = 22 173 184 voxels and the application's memory usage is 8.5GB

===========OpenCL Memory Usage===========
Total Memory Allocated: 524 MB
In Memory Pool: 174 MB
# of Buffers in Memory Pool: 2
In InUse List: 0 MB
Active Memory: 349 MB
===========OpenCL Memory Usage===========
Total Memory Allocated: 611 MB
In Memory Pool: 174 MB
# of Buffers in Memory Pool: 2
In InUse List: 0 MB
Active Memory: 436 MB
===========OpenCL Memory Usage===========
Total Memory Allocated: 699 MB
In Memory Pool: 174 MB
# of Buffers in Memory Pool: 2
In InUse List: 0 MB
Active Memory: 524 MB
===========OpenCL Memory Usage===========
Total Memory Allocated: 699 MB
In Memory Pool: 174 MB
# of Buffers in Memory Pool: 2
In InUse List: 0 MB
Active Memory: 524 MB
===========OpenCL Memory Usage===========
Total Memory Allocated: 436 MB
In Memory Pool: 87 MB
# of Buffers in Memory Pool: 1
In InUse List: 0 MB
Active Memory: 349 MB
===========OpenCL Memory Usage===========
Total Memory Allocated: 611 MB
In Memory Pool: 0 MB
# of Buffers in Memory Pool: 0
In InUse List: 0 MB
Active Memory: 611 MB
===========OpenCL Memory Usage===========
Total Memory Allocated: 699 MB
In Memory Pool: 0 MB
# of Buffers in Memory Pool: 0
In InUse List: 0 MB
Active Memory: 699 MB
===========OpenCL Memory Usage===========
Total Memory Allocated: 961 MB
In Memory Pool: 0 MB
# of Buffers in Memory Pool: 0
In InUse List: 0 MB
Active Memory: 961 MB
===========OpenCL Memory Usage===========
Total Memory Allocated: 961 MB
In Memory Pool: 0 MB
# of Buffers in Memory Pool: 0
In InUse List: 0 MB
Active Memory: 961 MB
===========OpenCL Memory Usage===========
Total Memory Allocated: 961 MB
In Memory Pool: 0 MB
# of Buffers in Memory Pool: 0
In InUse List: 0 MB
Active Memory: 961 MB
===========OpenCL Memory Usage===========
Total Memory Allocated: 961 MB
In Memory Pool: 0 MB
# of Buffers in Memory Pool: 0
In InUse List: 0 MB
Active Memory: 961 MB
===========OpenCL Memory Usage===========
Total Memory Allocated: 961 MB
In Memory Pool: 0 MB
# of Buffers in Memory Pool: 0
In InUse List: 0 MB
Active Memory: 961 MB
===========OpenCL Memory Usage===========
Total Memory Allocated: 961 MB
In Memory Pool: 0 MB
# of Buffers in Memory Pool: 0
In InUse List: 0 MB
Active Memory: 961 MB
===========OpenCL Memory Usage===========
Total Memory Allocated: 961 MB
In Memory Pool: 0 MB
# of Buffers in Memory Pool: 0
In InUse List: 0 MB
Active Memory: 961 MB
===========OpenCL Memory Usage===========
Total Memory Allocated: 961 MB
In Memory Pool: 0 MB
# of Buffers in Memory Pool: 0
In InUse List: 0 MB
Active Memory: 961 MB
===========OpenCL Memory Usage===========
Total Memory Allocated: 961 MB
In Memory Pool: 0 MB
# of Buffers in Memory Pool: 0
In InUse List: 0 MB
Active Memory: 961 MB
===========OpenCL Memory Usage===========
Total Memory Allocated: 824 MB
In Memory Pool: 212 MB
# of Buffers in Memory Pool: 40
In InUse List: 0 MB
Active Memory: 611 MB
===========OpenCL Memory Usage===========
Total Memory Allocated: 699 MB
In Memory Pool: 174 MB
# of Buffers in Memory Pool: 2
In InUse List: 0 MB
Active Memory: 524 MB
===========OpenCL Memory Usage===========
Total Memory Allocated: 699 MB
In Memory Pool: 174 MB
# of Buffers in Memory Pool: 2
In InUse List: 0 MB
Active Memory: 524 MB
===========OpenCL Memory Usage===========
Total Memory Allocated: 699 MB
In Memory Pool: 174 MB
# of Buffers in Memory Pool: 2
In InUse List: 0 MB
Active Memory: 524 MB
===========OpenCL Memory Usage===========
Total Memory Allocated: 889 MB
In Memory Pool: 174 MB
# of Buffers in Memory Pool: 2
In InUse List: 0 MB
Active Memory: 714 MB
===========OpenCL Memory Usage===========
Total Memory Allocated: 801 MB
In Memory Pool: 190 MB
# of Buffers in Memory Pool: 4
In InUse List: 0 MB
Active Memory: 611 MB
===========OpenCL Memory Usage===========
Total Memory Allocated: 794 MB
In Memory Pool: 182 MB
# of Buffers in Memory Pool: 4
In InUse List: 0 MB
Active Memory: 611 MB
===========OpenCL Memory Usage===========
Total Memory Allocated: 794 MB
In Memory Pool: 182 MB
# of Buffers in Memory Pool: 4
In InUse List: 0 MB
Active Memory: 611 MB
===========OpenCL Memory Usage===========
Total Memory Allocated: 794 MB
In Memory Pool: 182 MB
# of Buffers in Memory Pool: 4
In InUse List: 0 MB
Active Memory: 611 MB
===========OpenCL Memory Usage===========
Total Memory Allocated: 699 MB
In Memory Pool: 174 MB
# of Buffers in Memory Pool: 4
In InUse List: 0 MB
Active Memory: 524 MB
===========OpenCL Memory Usage===========
Total Memory Allocated: 699 MB
In Memory Pool: 174 MB
# of Buffers in Memory Pool: 4
In InUse List: 0 MB
Active Memory: 524 MB
===========OpenCL Memory Usage===========
Total Memory Allocated: 699 MB
In Memory Pool: 174 MB
# of Buffers in Memory Pool: 4
In InUse List: 0 MB
Active Memory: 524 MB

EDIT II:

Actually right now I'm really curious about make those same test on linux. I hope tomorrow I have the time to format my pc and make a dual boot setup …
User Avatar
Member
4189 posts
Joined: June 2012
Offline
Nice - that the graphics card will be using Vram for the display too, so you won't reach 3Gb for OpenCL GPU

Also the memory pool should be a buffer on the GPU that is kept so as not to transfer across the PCI bus and back into CPU memory format AFAIK

So the total amount of memory for GPU openCL would be Total GPU RAM -Display Ram- OpenCL memory pool. Not too sure if it's all dynamically allocated or fixed as I'm not able to test it currently. Would be an interesting read though!

BTW some light testing checking voxel memory usage shows (VolumeSOP)
5-10KB for 1 scalar voxel.
5-10KB for 1000 scalar voxels
5.46 MB for 1,000,000,000 scalar voxels
5.46GB for 1,000,000,000,000 scalar voxels
User Avatar
Member
65 posts
Joined: Feb. 2013
Offline
well, after “some” work on my pc … I've installed ubuntu and houdini works perfect! Hurra!
But, it seems like the Intel SKD for OpenCl doesn't works with Ubuntu! Buuuuuuu!
It works just for
Red Hat Enterprise Linux* OS 6.0 or higher (64-bit version)
SUSE Linux Enterprise Server* 11.1 or higher (64-bit version)
Anyone knows if it works on the free version of the OS?

By the records:
same original simulation, standard volcano with no changes:
CPU = 1m07s (without OpenCL!)
GPU = 30s
It's really impressive the difference. With only CPU t's like 33% faster! ok, maybe things will change with a complex sim and I want to do some test, but the difference seems really worth the time you spend on learning how to make it works on linux!
User Avatar
Member
4189 posts
Joined: June 2012
Offline
merlino3d
well, after “some” work on my pc … I've installed ubuntu and houdini works perfect! Hurra!
But, it seems like the Intel SKD for OpenCl doesn't works with Ubuntu! Buuuuuuu!
I

It'll work but you need to Alien it!
http://en.wikipedia.org/wiki/Alien_(software) [en.wikipedia.org]

Something like this, replace the OpenCL part with the version you have

sudo alien opencl­1.2­intel­cpu­3.0.67279­1.x86_64.rpm
  • Quick Links