Embree does not start on windows

Embree does not start on windows

Hi,I successfully compiled Embree using VS2010. But once I run the application, windows throw the following error: "The procedure entry point SetThreadGroupAffinity could not be located in the dynamic link library KERNEL32.dll"so it never starts the application. This happens for both the win32 and x64 compiled versions, and I'm not sure what this error is supposed to mean or how to get it fixed. Anyone has an idea?Thank you.

6 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
Best Reply

Which version of Windows are you using? Embree requires Windows 7 (32bit or 64bit), because SetThreadGroupAffinity is not available in earlier versions of Windows.

Oh I see. I'm using Vista 64bit.Thats quite a limitation to run on Windows 7 only, isn't it?Thanks for the quick answer by the way.

You can workaround this issue by commenting out the lines that set the group affinity in sys/thread.cpp. These lines are only required if you want to run on a machine with more than 64 threads.

Windows 7's companion SDK is WinSDK 7.0a, which supports group affinity. Older version WinSDK do not. You can try install SDK 7.0a on your older Windows.

as an aside, there is an example of managing Windows SDK evolution across versions that support group affinity and older SDK that does not understand group affinity.
Although the link deals with a different topic (topology), part of the code dealing OS specific API may be useful. Download the reference code at http://software.intel.com/en-us/articles/intel-64-architecture-processor-topology-enumeration/

Look inside the hleper file util_os.c for the function BindContext()

The download link on this page doesn't seem to work.

Leave a Comment

Please sign in to add a comment. Not a member? Join today