问题标签 [cilk]
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.
c++ - 内部和外部并行
内部并行度和外部并行度有什么区别?如果一个解决方案(视觉工作室)有 2 个项目,那么我们如何通过内部或外部定义并行性?
谢谢
openmp - 线程数和时间结果一致性
我正在尝试学习至强 phi 编程。
我在 cpu 上运行这段代码,我正在使用卸载编译指示来处理我想在协处理器上运行的部分。
由于我在 cpu 上编译并且我使用卸载,我正在使用:
为了指定线程数。
我的问题:
1) 运行代码,显示始终使用了 40 个线程。
2)一次又一次地运行代码而不编译,我得到不同的时间结果。
代码:
我正在编译:
c++ - 是否可以将功能卸载到显卡?
我有一个 C++ 多线程应用程序,我想通过使用 Intel HD Graphics 获得更好的性能并降低 CPU 的总使用率。
我没有使用 CILK。(应用程序是用纯 C++ 编写的)
我阅读了以下链接: 如何将计算卸载到 Intel(R) Graphics Technology
但是没有找到一种方法来处理图形卡上的写入函数或线程。
是否可以 ?有没有办法使用英特尔编译器将函数(或线程)卸载到英特尔高清显卡中?
谢谢
c++ - 通过安装 intel parallel X studio 使用 Cilk 库
我安装了 Intel studio,我有 Visual Studio 2013,我想编写一个使用线程的程序。我想由 Intel 编译它,我做了这些步骤:
- 我创建了一个空项目
- 我右键单击 cpp 源并选择 using Intel compiler 然后选择 using intel c++ for selected file 并在选择 All configuration 后,单击 On Ok 按钮。
- 然后我右键单击项目并从英特尔编译器项目中选择使用英特尔 c++。
- 为了确定我去属性管理器并检查配置管理器,平台必须是 X64。更多,我在 c/c++ ,优化[英特尔 c++] 或一般 [英特尔 c++] 中看到。
所以我认为所有设置都正确完成。但是当我使用 Cilk/cilk.h 编写代码时出现这些错误
这是代码
我应该说我尝试使用 _Cilk_for 而不是 cilk_for 但问题没有解决。
谁能告诉我有什么问题?
c++ - What is the right way to compute Fibonacci using cilk?
While I'm learning cilk, I countered with 2 opposite examples:
The oppposite lies on those 2 lines:
The first site says:
You do not need to add a cilk_spawn attribute to the second recursive call to
fib()
because that will create an empty continuation
- I dont understand why?
- What is the right way? (using 2 spawn commands or just one ? )
c++ - 为什么我在编译cilk程序时收到“错误预期的表达式”
我正在使用 Linux、Eclipse 和 Intel 编译器 V14。
我正在尝试编译基本的斐波那契示例:
并得到编译错误:
我尝试使用:
但同样的错误..
c++ - 错误:“int”之前的预期主表达式
我正在使用: gcc --version gcc (Ubuntu 4.9.2-0ubuntu1~14.04) 4.9.2
我正在尝试编译以下程序:
但是得到以下错误:
怎么了 ?
谢谢
c++ - 使用 icpc 编译时无法解析符号 _cilk_spawn
我正在使用 Ubuntu 14.04 & eclipse & intel 编译器 v 15
我有 2 个相同的程序(使用 cilk 命令)(一个作为 c 程序,另一个作为 cpp 程序)。
我可以用 icc 编译它(没有任何问题)
但是当我使用 icpc(cpp 程序)时出现错误:无法解析符号 _cilk_spawn
在这两个相同的程序中,我没有使用任何标志。
cpp程序有什么不同,我无法编译它
c++ - 如何在 Cilk Plus 中组织非线程安全资源池(每个工作人员一个资源)?
我有一个串行代码,我想使用 Cilk Plus 并行化;主循环对不同的数据集重复调用一个处理函数,所以迭代是相互独立的,除了使用了非线程安全的资源,它被封装在nts
一个外部库提供的类中(比如,)它接受一个文件名并对其进行 I/O。
如果我使用的是 OpenMP,我将创建一个资源池,其中包含与我拥有的线程一样多的资源,并根据线程 ID 访问这些资源:
__cilkrts_get_nworkers()
使用 Cilk Plus,我可以使用和API做尽可能多的事情__cilkrts_get_worker_number()
,但是从英特尔论坛上的多个帖子中,我了解到这被认为是解决问题的错误解决方案,而正确的解决方案是使用持有人超对象。
现在,持有者解决方案看起来确实不错,除了我真的希望创建与工作线程一样多的视图。也就是说,对于 3 个工作线程,我想要 3 个对象而不是更多。理由是,正如我所说,资源是由第三方库提供的,构建起来非常昂贵,而且我必须在之后处理生成的文件,所以越少越好。
不幸的是,我发现持有者不是为每个工作人员创建一个视图并保持它直到同步,而是根据我不理解的逻辑以某种方式创建和销毁视图,并且似乎没有办法影响这种行为。
是否有可能让持有人按照我想要的方式行事,如果没有,我的问题的惯用 Cilk Plus 解决方案是什么?
这是我用来调查持有者的程序,请注意,它在一次运行期间在我的测试机器上创建多达 50 个视图,这些视图似乎是随机分配和销毁的:
c++ - 如何使 Eclipse 错误解析器接受 cilk_for
我正在尝试使 eclipse 与 cilk 一起工作。我想为 eclipse CDT 解析器定义一个宏作为 cilk_for = for。在另一篇文章中有人建议我去 Project=>Properties=>Paths and Symbols 然后在那里定义符号,这样只有 eclipse 而不是 gcc 会定义符号。问题是 gcc 确实看到了禁用 cilk 的符号。我该如何定义它,所以只有 eclipse 解析器有它。