- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
1 Solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Which version of Windows are you using? Embree requires Windows 7 (32bit or 64bit), because SetThreadGroupAffinity is not available in earlier versions of Windows.
Link Copied
5 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Which version of Windows are you using? Embree requires Windows 7 (32bit or 64bit), because SetThreadGroupAffinity is not available in earlier versions of Windows.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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()
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()
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The download link on this page doesn't seem to work.
http://software.intel.com/en-us/articles/embree-photo-realistic-ray-tracing-kernels/
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page