Jump to content

Experimental OpenCL Driver


Recommended Posts

http://www.sidefx.com/docs/houdini13.0/news/13/opencl

 

Has anyone had any luck getting this to work, Im currently trying to test it out, but upon turning on open cl in my solver, houdini freezes up entirely.

 

I've doubled checked to make sure its loaded the Intel specific driver, but still get an unresponsive result.

 

The AMD APP works at the moment but does tend to slow down later into the scene (somewhat drastically).

 

 

Intel i7 2.8ghz

9gigs of ram

radeon hd 5850 1gb

 

 

Thanks

Link to comment
Share on other sites

http://www.sidefx.com/docs/houdini13.0/news/13/opencl

 

Has anyone had any luck getting this to work, Im currently trying to test it out, but upon turning on open cl in my solver, houdini freezes up entirely.

 

I've doubled checked to make sure its loaded the Intel specific driver, but still get an unresponsive result.

 

The AMD APP works at the moment but does tend to slow down later into the scene (somewhat drastically).

 

 

Intel i7 2.8ghz

9gigs of ram

radeon hd 5850 1gb

 

 

Thanks

I7:

Install this: 

http://registrationcenter.intel.com/irc_nas/3782/intel_sdk_for_ocl_applications_2013_r3_runtime_x64_setup.msi

and this: 

http://registrationcenter.intel.com/irc_nas/3782/intel_sdk_for_ocl_applications_2013_r3_x64_setup.exe

and will work...

Edited by Mason
Link to comment
Share on other sites

ah looks like I only installed the runtime, ill try it out with the SDK too,

 

Thanks for the replies gentlemen! 

 

 

Update:

 

ya looks like im just out of luck, it seems to work for a few seconds (i can see it calculating at the bottom left) but it tends to get stuck just before its about to finish.

 

Windows 8.1

Radeon 5850 13.2 catalyst drivers

 

Guess ill have to stick with the AMD APP

 

OpenCL Platform           Intel® OpenCL
Platform Vendor           Intel® Corporation
Platform Version          OpenCL 1.2 
OpenCL Device             Intel® Core i7 CPU         930  @ 2.80GHz
OpenCL Type               CPU
Device Version            OpenCL 1.2 (Build 80752)
Frequency                 2800 MHz
Compute Units             8
Global Memory             9207 MB
Max Allocation            2301 MB
Global Cache              256 KB
Max Constant Args         480
Max Constant Size         128 KB
Local Mem Size            32 KB
2D Image Support          16384x16384
3D Image Support          2048x2048x2048
 

 

 

Edited by amorales
Link to comment
Share on other sites

Just thought I'd chime in and say it doesn't work for me at all. I'm on a Dual Xeon X5660

 

 

OpenCL Exception: Could not create OpenCL device of type (HOUDINI_OCL_DEVICETYPE): CPU on platform vendor (HOUDINI_OCL_VENDOR): Intel® Corporation (-6)
 
 
No Configured OpenCL Device
HOUDINI_OCL_DEVICETYPE                 CPU
HOUDINI_OCL_VENDOR                     Intel® Corporation
 
 
Edit:
Says windows 8.1 and XE not supported
 
*regretting my choice to go with windows.  :)
Edited by Solitude
Link to comment
Share on other sites

Works on Quadro./GForce and Intel Xeons on Centos6.2 here, albeit it's slower than C++ implementation in case of my hardware (plus increases memory consumption).

 

If you're running under Linux, are you preloading the TBB libraries that come with the Intel driver?  They use a different version with some additional features that their driver needs, but will also work with Houdini.  This generally looks something like:

LD_PRELOAD=/opt/intel/opencl-1.2-3.0.67279/lib64/libtbb_preview.so.2 hmaster

for R2 of the Intel driver, and

LD_PRELOAD=/opt/intel/opencl-1.2-3.2.1.16712/lib64/libtbb.so.2 hmaster
for the new R3 version that uses version 4.2 of TBB.  We're hoping to synchronize TBB versions with them to avoid this in the future.  Because Houdini loads before the OpenCL driver, otherwise the driver uses the older version of TBB and will function, but will be much slower.
 

OpenCL Exception: Could not create OpenCL device of type (HOUDINI_OCL_DEVICETYPE): CPU on platform vendor (HOUDINI_OCL_VENDOR): Intel® Corporation (-6)

Says windows 8.1 and XE not supported

 

The new R3 release of the OpenCL driver is supposed to support 8.1, have you tried that?  Unfortunately this is why the CPU driver is "experimental": the OpenCL code in Houdini is very standard OpenCL 1.0 and generally works very well with the Intel driver, that is assuming you can get the driver working.  It might be worth installing the entire SDK and running a couple of the utilities that come with it to verify the installation as well.

 

*regretting my choice to go with windows.   :)
 

As a simulations guy, Ian, I have one word for you: Linux, Linux, Linux (OK, three :) - although currently you'd still need the LD_PRELOAD hack above under Linux :( ).

 

Update:

 

ya looks like im just out of luck, it seems to work for a few seconds (i can see it calculating at the bottom left) but it tends to get stuck just before its about to finish.

 

Windows 8.1

Radeon 5850 13.2 catalyst drivers

 

Guess ill have to stick with the AMD APP

 

 

Is this also with the new R3 release that's supposed to include Windows 8.1 support?  I suppose there could be a conflict between the AMD driver and the Intel driver, although of course there shouldn't be.  Generally our experience is that the AMD CPU driver is not much of an improvement over the regular CPU path.

Link to comment
Share on other sites

Wow, thanks for the thorough response John, 

 

On my end, it is the current R3 Release with 8.1 Support, I also installed the sdk to see if it would help but no change, I could try to specfically uninstall the amd driver and see if it is conflicting with the intel driver but ill have to research if i can do that in the first place, the amd driver is install with catalyst afaik.

 

-amorales

Edited by amorales
Link to comment
Share on other sites

 

The new R3 release of the OpenCL driver is supposed to support 8.1, have you tried that?  Unfortunately this is why the CPU driver is "experimental": the OpenCL code in Houdini is very standard OpenCL 1.0 and generally works very well with the Intel driver, that is assuming you can get the driver working.  It might be worth installing the entire SDK and running a couple of the utilities that come with it to verify the installation as well.

 

 

As a simulations guy, Ian, I have one word for you: Linux, Linux, Linux (OK, three :) - although currently you'd still need the LD_PRELOAD hack above under Linux :( ).

 

 

 

Yeah I tried with r3.. no go. I'll just have to stop being lazy and dual boot again. I just didn't set up my hd's / partitions with that in mind, so I'll have to re work some stuff in that regards I think (the ssd is rather small).  At home I like to play non-linux games too occasionally, and was hoping to keep it simpler this time around. I just got two new-ish machines a few weeks ago, but was dual boot before this, but ignored the side of me that said, "you'll regret not going with Linux".  I'll figure out a good way to switch again soon.  That being said, I was actually rather liking windows 8.1 so far.

 

Edit:  Also, I was able to get some of the cl files to compile into ir files using the Kernel Builder, but I don't have Visual Studio (and don't really have any reason to get it) to further test.

Edited by Solitude
  • Like 1
Link to comment
Share on other sites

Yeah I tried with r3.. no go. I'll just have to stop being lazy and dual boot again. I just didn't set up my hd's / partitions with that in mind, so I'll have to re work some stuff in that regards I think (the ssd is rather small).  At home I like to play non-linux games too occasionally, and was hoping to keep it simpler this time around. I just got two new-ish machines a few weeks ago, but was dual boot before this, but ignored the side of me that said, "you'll regret not going with Linux".  I'll figure out a good way to switch again soon.  That being said, I was actually rather liking windows 8.1 so far.

 

I didn't mean to be too glib about switching to Linux; there are clearly some good reasons for running Windows, particularly on a home machine.  

 

The Intel OpenCL driver (again, when working) actually provides an interesting apples-to-apples comparison between operating systems because it's using the exact same runtime compiler (LLVM), threading system, and memory allocator on both operating systems.  Usually you're dealing with different compilers and runtimes  (MSVC vs. gcc), so it's harder to compare.   Linux gives about a 20% performance advantage in the "pure" OpenCL case. Significant, but not mind-blowing or anything (though its memory management and disk performance are usually better as well).

 

In the meantime, we're looking at a few different options for fixing the memory fragmentation under Windows.

 

Edit:  Also, I was able to get some of the cl files to compile into ir files using the Kernel Builder, but I don't have Visual Studio (and don't really have any reason to get it) to further test.

 

Disappointing to hear that R3 didn't work for you.  What does the Kernel Builder say under Help | Device Info?  Does it indicate successfully loading the driver?

Edited by johner
Link to comment
Share on other sites

It's cool man. I know it's a lot of work to support all 3 platforms. Some things are bound to work better on one OS than another. I wouldn't dare use windows + houdini at work.   ;)   

 

I can't check the help / device info since i'm at work, but it says something along the lines of (totally just paraphrasing)

Device Type: CPU
Device Found: Intel Xeon 5660 x2

Device Vendor: Intel® Corporation

 

Then moves on to compiling the cl code.

 

Edit, at home now, the device info in kernel builder looks good.

Edited by Solitude
Link to comment
Share on other sites

If I get this working on Linux, do you happen to know how well it works for Flip simulations (going inside and enabling opencl on any applicable nodes)? 

 

Unfortunately it won't help much.  The three most expensive FLIP operations are usually:

 

  • GasParticleToField to build the velocity field from the particles
  • GasProjectNonDivergentVariational for the pressure solve

  • GasParticleToSDF to build the surface SDF from the particles.

None of the above have an OpenCL path.

 

There are a velocity and surface advection step at the end of the timestep, but they aren't really the bottleneck, and by the time you copy all the data over to OpenCL memory, I doubt it will be much of a win.

Link to comment
Share on other sites

  • 1 month later...

EDIT : new build 13.0.343 fixed OpenCL problem for me.


Btw, I can use pyopencl to see my Intel and Nvidia opencl driver, however when I tried to setup env HOUDINI_OCL_DEVICETYPE=CPU it gives the same error that Ian had.

But, if I don't set the env, it gets the Nvidia OpenCL 1.1 driver fine.

 

My houdini version is 13.0.314 on Windows 7.

Both runtime and SDK for intel opencl driver R3 installed.(Kernel builder sees the driver fine.)

 

I wonder what I missed here?

Edited by reny
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...