如果我有一个多线程程序,我如何知道每个线程在哪个核心上运行?System.EntryPointNotFoundException未处理Message=“无法在DLL‘ntdll”中找到名为'NtGetCurrentProcessorNumber’的入口点XP_Multicore_try_0.Program.NtGetCurrentProcessorNumber() at XP_Multicore_try_0.Program.loop() in C
然而,我还没有找到正确的配置,如何有效地利用R中分配的资源。我尝试使用R中未来包的计划(多核) -function为SLURM中的一个任务分配20个CPU。在使用不同的CPU分配计数运行测试运行后,效率统计数据表明,在这些设置下,在测试运行期间只使用了一个分配的CPU。 Slurm bash脚本如下所示 #!that reserved CPU's are found
print(supportsMulticore())#ensure that
能够在窗口上执行多线程是很棒的,但是这个问题可能比我想象的要困难。:(
在survey:::svyby.default内部有一个块,它是lapply或mclapply,这取决于multicore=TRUE和您的操作系统。无论如何,windows用户都会被迫进入lapply循环,我想知道是否有任何方法可以替代mclapply路径。加快计算速度。我对并行处理的内部不太了解,但我做了一些实验,看看是否有任何一个窗口--可接受的替代方案--能起作用。) par