[LLVMdev] Questions on Parallelism and Data Dependence Analysis
Eli Friedman
eli.friedman at gmail.com
Wed Dec 24 19:48:56 PST 2008
On Wed, Dec 24, 2008 at 6:11 PM, Wenzhi Tao <linus_wind at zju.edu.cn> wrote:
> Hi, I have two questions about llvm, and expect your reply very much.
>
> 1. Is there any plan of llvm to support Thread-Level Parallelism by using
> OpenMP, MPI, pthread or llvm-defined directives?
> If automatic parallelism exploring is very hard, what is the key
> problem? We can't get the precise data dependence
> information at compile-time?
AFAIK, OpenMP, MPI, and pthreads should all work just fine with LLVM.
Automatically parallelizing code is a fundamentally difficult problem
for many reasons which I won't go into as it's only tangentially
relevant to LLVM.
> 2. Can I use the functions provided by llvm to get the real data
> dependence(Read After Write) info on basic block level directly?
> In other words, can I get the task graph(node: task viewed as basic block
> or more coarse grain, edge: real data dependence)
> from sequential program using llvm to explore task-level parallelism by
> some proposed task scheduling algorithm?
I don't think there's anything quite like that. There is
MemoryDependenceAnalysis; that returns the dependencies for an
individual instruction.
-Eli
More information about the llvm-dev
mailing list