如果我在Linux或Mac上运行R,则可以使用multicore:::detectCores()检测可用内核的数量。 但是,没有Windows版本的多核function,所以我不能在Windows上使用这种技术。
如何以编程方式检测R机器上的Windows机器上的内核数量?
有关Unix / Linux内核编程的问题
以编程方式禁用cpu内核
运行multithreading应用程序的新四核处理器中的Linux内核有多好
我如何使用我的多核心专用服务器来运行我的Java应用程序?
我怎么能告诉我的机器上的每个核心使用相同的计时器?
并行程序包现在具有检测核心数量的功能: parallel:::detectCores() 。
这个线程有很多建议,包括:
Sys.getenv('NUMBER_OF_PROCESSORS')
还要注意Ripley教授在这个帖子中的发言,他谈到了这样做的困难。
如果实际需要区分实际的内核,芯片和逻辑处理器, 则要调用的API是GetLogicalProcess@R_324_4045@ion
GetSystemInfo如果只想知道一台机器上有多少个逻辑处理器(没有超线程的区分)。
你如何从“R”中调用这个函数超出了我的想象。 但我猜R有一个从本机Windows DLL调用代码的工具。
GetSystemInfo会给你一个“处理器”数目的结构,它对应于核心的总数。
从理论上讲,它与在另一个答案中推荐的环境变量的值相同,但用户可以篡改(或删除)环境变量。 这可能是一个错误或功能取决于你的意图。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。