Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Multithreading in LLVM

I need to generate LLVM code that will serve a lot of threads/tasks (hundreds of thousands). These threads should be lightweight like Intel TBB's tasks, golang gorutines or other. Of course they can be implemented with external C++ libraries like mentioned Intel TBB (if it is compatible with LLVM).

I was searching for long time for any information about threading in LLVM and I haven't found much. In the documentation of LLVM there are described some API calls but I think it's not what I'm looking for.

So there are few questions:

  1. Is it possible to use technologies like Intel's TBB or Cilk together with LLVM?
  2. What threading library should I use in this situation?
like image 826
Wojciech Danilo Avatar asked Aug 06 '12 14:08

Wojciech Danilo


People also ask

Is Llvm multithreaded?

In that discussion it was quickly pointed out by LLVM lead developer Chris Lattner that with the new MLIR representation that its pass manager is implicitly and automatically multi-threaded.

Can PHP be multithreaded?

PHP applications, undoubtedly work effectively with multithreading capabilities. Multithreading is something similar to multitasking, but it enables to process multiple jobs at one time, rather than on multiple processes.


1 Answers

Actually there seems to be a few projects out there that uses intel TBB and LLVM, for example Intel's own opencl SDK used TBB and LLVM for its compiler, http://software.intel.com/en-us/articles/vcsource-tools-opencl-sdk/

like image 92
Vignesh Avatar answered Nov 12 '22 12:11

Vignesh