使用 Cilk Plus 数组表示法编译 C 文件

Posted

技术标签:

【中文标题】使用 Cilk Plus 数组表示法编译 C 文件【英文标题】:Compile C file with Cilk Plus array notation 【发布时间】:2021-06-24 13:34:51 【问题描述】:

在我的可用代码中,有一行 Cilk Plus 数组表示法:

C[0:n*n]=0.0;

当我在 Linux 上运行命令编译时:

gcc  matrix.cc -o matrix

我遇到了这个错误

我会使用哪个命令来解决这个问题?提前致谢

【问题讨论】:

【参考方案1】:

要将 Cilk (Plus) 与 gcc 一起使用,您必须使用 -fcilkplus 选项启用它。

但是... Cilk 支持deprecated in gcc 7.1 和removed in gcc 8.1,因此除非您使用的是旧版本,否则这将无济于事。如果您希望将来可以使用 Cilk,最好重写您的代码以不使用 Cilk。

【讨论】:

OpenMP 是一个很好的替代方案,可以轻松实现循环并行化(和矢量化提示)。 如果不使用gcc命令,Cilk+还有其他方法吗? tks 我不认为 cilk-plus 数组表示法在今天得到任何编译器的正式支持。 intel c++/fortran 编译器中仍可能存在非官方支持。 @DuyDuy 检查 WIkipedia 上的 Cilk+ 编译器列表,看看是否仍有维护或可用。

以上是关于使用 Cilk Plus 数组表示法编译 C 文件的主要内容,如果未能解决你的问题,请参考以下文章

将 Cilk Plus 与 MinGW-w64 (gcc 4.9.2) 一起使用?

如何在 Cilk Plus 中组织非线程安全资源池(每个工作人员一个资源)?

通过安装 intel parallel X studio 使用 Cilk 库

编译错误:“g++:尝试执行 'cc1plus' 时出错:execvp:没有这样的文件或目录”

c primer plus 章一

C primer plus 摘抄(第一章:概览)