LLVM中的多线程

标签 multithreading llvm tbb cilk cilk-plus

我需要生成将服务于大量线程/任务(数十万个)的LLVM代码。这些线程应该像Intel TBB的任务,golang gorutines或其他任务一样轻量级。当然,它们可以使用外部C++库(如提到的Intel TBB)(如果它与LLVM兼容)来实现。

我一直在寻找有关LLVM中线程的任何信息,但是我发现的不多。在the documentation of LLVM中描述了一些API调用,但我认为这不是我想要的。

因此,有几个问题:

  • 是否可以与LLVM一起使用英特尔的TBB或Cilk之类的技术?
  • 在这种情况下我应该使用哪个线程库?
  • 最佳答案

    实际上,似乎有一些项目使用了英特尔TBB和LLVM,例如,英特尔自己的opencl SDK将TBB和LLVM用于其编译器http://software.intel.com/en-us/articles/vcsource-tools-opencl-sdk/

    关于LLVM中的多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11830302/

    相关文章:

    java - 多线程:我们如何使用 Java 进行时间切片?

    Java 在原子操作上同步

    c++ - deque.tcc 错误 : expected primary-expression before '>' token

    installation - 在 ubuntu 12.04 lts 上安装 llvm-3.4

    c++ - TBB 流程图条件执行和多个输入和输出

    c++ - 基于 Qt 的 CD 开膛手的线程构建 block (TBB)?

    java - 奇怪的线程情况——仅使用线程来实例化变量

    Java线程问题

    compiler-construction - LLVM 中函数的最后一个基本 block

    ios - NSAssert 在调试器中工作,但当直接在设备上运行时,控制台中缺少消息