I'm using a ISPC-based program on Windows and I'm wondering if there's any way to limit the number of CPU threads to 1 since I have to run some experiments.
You could use the SetProcessAffinityMask
(msdn link) API function:
BOOL SetProcessAffinityMask(
HANDLE hProcess,
DWORD_PTR dwProcessAffinityMask
);