首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >X10代码不能识别CPU的第二个核心。

X10代码不能识别CPU的第二个核心。
EN

Stack Overflow用户
提问于 2014-06-16 04:52:41
回答 1查看 135关注 0票数 1

我用X10写了一个规范的"Hello,World“演示类:

代码语言:javascript
复制
class Hello {
  public static def main(args:Rail[String]):void {    
     finish for (p in Place.places()) {
        at (p) async Console.OUT.println(here+" says hello");
     }
     Console.OUT.println("Goodbye");
  }
}

我的计算机有一个双核CPU,但是X10代码不能识别两个处理核心。据我所知,它只能识别CPU的一个核心。因此,控制台的输出如下所示:

代码语言:javascript
复制
Place(0) says hello
Goodbye

而不是

代码语言:javascript
复制
Place(0) says hello
Place(1) says hello
Goodbye

正如它可能预期的那样。

如何强制X10代码识别我笔记本电脑上可用的CPU的所有处理核心?我的笔记本电脑配备了英特尔酷睿2双核CPU。操作系统为Windows 7。

提前谢谢你。

EN

回答 1

Stack Overflow用户

发布于 2014-07-06 02:13:04

默认情况下,无论有多少物理核心可用,X10都将只启动一个位置。(实际上,根据您的应用程序,对于每个多核CPU,最好在一个地方运行一个地方,并使用async在一个地方利用多线程并行性。

要请求不同数量的位置,请设置环境变量X10_NPLACES或使用x10启动器的-np选项。

代码语言:javascript
复制
X10_NPLACES=2 x10 Hello
x10 -np 2 Hello
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24234014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档