问题标签 [cray]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
58 浏览

cc - “mcmodel”的 Craycc 等效项

我正在尝试在 craycc 下编译 C 代码。编译失败并出现错误“relocation truncated to fit: R_X86_64_32”。在 Intel 或 GNU 下,我可以使用“mcmodel”标志克服这个错误。但是 craycc 不识别这个标志。有谁知道 craycc 下的等效标志/方法?我查看了 craycc 手册页,但找不到有关此问题的任何讨论。

0 投票
2 回答
175 浏览

cmake - 为什么 CMake find_package 忽略链接器标志?

我正在开发一个 Cray 系统,该系统需要在找到动态库之前传递“-dynamic”。就我而言,我正在尝试与 libtiff 链接。该命令cc main.cpp -ltiff失败,文件未找到但cc main.cpp -dynamic -ltiff有效。我相信这个文件未找到的行为会导致 CMake 的find_package.

当我使用 CMake(版本 3.5.2)并-DCMAKE_EXE_LINKER_FLAGS:STRING="-dynamic"从命令行传递时find_package(TIFF)。但是当我像这样在 CMakeLists.txt 中设置它时:

它找不到libtiff。但如果我尝试:

它第一次失败,但将“-dynamic”放入缓存中,然后在第二次运行时工作。如果我手动设置TIFF_LIBRARY_RELEASE为指向 .so 那么find_package也可以工作(通过填写其余的变量)。

在不将其作为参数传递的情况下执行此操作的正确方法是什么?

0 投票
1 回答
885 浏览

fortran - Cray 编译器要求一个标志,然后不识别它

我正在尝试用crayftn.

我收到一条错误消息

所以它想要国旗--no-relax?好的,我可以做到。所以我重新链接到那个标志,然后它告诉我

所以它要求“ --no-relax”,但它不明白。有人知道解决这个难题的方法吗?还是首先解决根本问题的另一种方法?

0 投票
0 回答
47 浏览

c - C 编译器使用 Cray 上 Fortran 模块中定义的变量

我想在 ac 程序中使用 f90 模块 (abc) 中定义的整数变量(比如说 xyz)。我发现使用 gnu 编译器可以这样做:

但我找不到 Cray 编译器的相应语法。

更新

在友好提醒阅读手册和其他评论之后,我能够让它工作。这是示例 FORTRAN 模块:

和C代码:

编译

0 投票
1 回答
37 浏览

mpi - 使用 arun 放置进程——每个节点需要一个进程

我需要在 Cray 系统上运行 MPI 代码aprun。由于我不会进入的原因,我被要求运行它,以便没有节点有多个进程。我一直对aprun手册页感到困惑,我不确定我是否已经弄清楚了。如果我只有两个进程,这个命令会确保它们在不同的节点上运行吗?(假设一个节点上有 32 个核心。)

0 投票
1 回答
12 浏览

io - 使用 Cray 编译器可以直接 I/O 吗?

我正在尝试编译使用直接 I/O 的 C 代码。有一行使用 O_DIRECT 标志:

英特尔和 GNU 很好地理解了这一点并进行了编译。Cray 无法通过 O_DIRECT。它不认为它被设置在任何地方。Cray 编译器是否有这个变量的替代方案?或者它可以不做直接 I/O 吗?

0 投票
0 回答
59 浏览

fortran - Fortran 代码在 Intel 和 GNU 下执行,在 Cray 下失败

我使这个程序尽可能简单:

它在 Intel 或 GNU 构建下运行良好:

但是 Cray Fortran,由于某种原因无法处理分配:

有人知道为什么吗?

(注意:complex(8)类型iobuff不是问题;无论我定义什么类型,代码都会失败并出现相同的错误iobuff。请注意,各种类型的变量来自我真正想要理解的更大的代码。)

0 投票
0 回答
39 浏览

jobs - 在 CRAY 的单个节点中运行多个作业

在 cray 中,我可以使用 qsub 提交作业

如果我请求多个节点,那么我可以提交多个作业,并且它们可以相互并行运行

现在,我的问题是我executable在 10 个 openMP 线程后无法扩展,即使用 10 以上的任何数字都不会提高性能,但我可以在单个节点中使用多达 40 个 CPU。基本上,这是一种资源浪费。所以,我想知道我是否可以在单个节点中提交多个作业(最多 4 个),每个作业都有 10 个 OpenMP 线程。我为单个节点尝试了上述方法,但是aprun当一个节点在同一个节点中运行时不会启动下一个作业,因此它是按顺序运行的。那么,是否可以使用 qsub 在 CARY 中的单个节点中提交多个作业。

pbs_version = PBSPro_13.0.409.180551

0 投票
0 回答
48 浏览

fortran - Fortran 可执行文件不喜欢整数的命令行输入

这段代码在 Intel 和 GNU 下编译和运行得很好:

输出:

但克雷一点也不喜欢:

现在,问题来了:如果我用简单的 n 设置替换命令行输入,一切都很好:

现在我明白了

更新:尝试从常规文本文件中读取:

克雷也不喜欢那样。同样的问题。

因此,如果n来自命令行,Cray 可以读取n. 它认为n是一个整数,甚至可以写出它的值。但它不能nallocate语句中使用。(顺便说一句,我对语句的格式进行了多种尝试,read但无济于事。)这是怎么回事?

针对一些评论的更新:

首先,我有可能发现了一个错误吗?我把它移到另一个 Cray 平台上,它运行得很好。两台机器上的 Cray 版本都是 12.0.3。

其次,我的构建非常简单,只是

ftn simplarray.F90

我正在登录节点上构建和编译,这些节点是 Intel Broadwells。