Intel® Embree Ray Tracing Kernels
Discussion forum on the open source ray tracing kernels for fast photo-realistic rendering on Intel® CPUs.
Announcements
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.

Embree does not start on windows

khalidsalman
Beginner
363 Views
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.
0 Kudos
1 Solution
Manfred_Ernst__Intel
New Contributor I
363 Views
Which version of Windows are you using? Embree requires Windows 7 (32bit or 64bit), because SetThreadGroupAffinity is not available in earlier versions of Windows.

View solution in original post

5 Replies
Manfred_Ernst__Intel
New Contributor I
364 Views
Which version of Windows are you using? Embree requires Windows 7 (32bit or 64bit), because SetThreadGroupAffinity is not available in earlier versions of Windows.
khalidsalman
Beginner
363 Views
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.
SvenW_Intel
Moderator
363 Views
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.
SHIH_K_Intel
Employee
363 Views
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()
unicomp21
Beginner
363 Views
Reply