LLVM中的多线程

Woj*_*ilo 9 multithreading tbb llvm cilk cilk-plus

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

我在很长一段时间内搜索有关LLVM中线程的任何信息,但我找不到多少.在LLVM的文档中描述了一些API调用,但我认为它不是我正在寻找的.

所以问题很少:

  1. 是否可以将英特尔的TBB或Cilk等技术与LLVM结合使用?
  2. 在这种情况下我应该使用什么线程库?

Vig*_*esh 3

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