PRUNERS / archer

Archer, a data race detection tool for large OpenMP applications
https://pruners.github.io/archer
Apache License 2.0
62 stars 13 forks source link

The best way to install Archer as a developer #14

Closed hassansalehe closed 7 years ago

hassansalehe commented 7 years ago

I am looking into ways to extend Archer to support detection of other concurrency errors and/or new OpenMP pragmas. I had a little chat with Ganesh at POPL this year, it seems Archer is a right tool for this.

I have been playing around with the tool. I first used the automated script to install it and later installed a stand-alone version with the standard OpenMP runtime. I have not tried the stand-alone version with OMPT runtime yet.

For hacking Archer -- adding more passes, extending the available passes or changing the race detection algorithm -- which installation would you recommend among the three options available, for convenience?

dongahn commented 7 years ago

@hassansalehe:

@simoatze should chime in. But from my perspective, OMPT-based annotation is our future so please make sure your hack will work with the OMPT options. As OMPT spec still evolves, we will continue to adapt our annotation to the spec. But at some point, it will stabilize.

simoatze commented 7 years ago

@hassansalehe I would suggest to build Clang/LLVM 4.0 separately and then follow the installation of Archer as stand-alone tool with OpenMP Runtime and OMPT support. In this way you can work only on Archer without recompiling Clang/LLVM. Please follow the instructions here and let me know if you encounter any problems.

hassansalehe commented 7 years ago

@simoatze is all your code in Archer or you added or modified Clang/LLVM code that I may need to see?

By the way, I fetched Clang/LLVM from a repo and it seems the current version is 5.0. I hope it won't be much of a problem.

simoatze commented 7 years ago

@hassansalehe All the code is in Archer, only prerequisite is Clang/LLVM >= 3.9 and the correct OpenMP runtime (see the README for precise instructions).

Clang/LLVM 5.0 should be the trunk version and it shouldn't create any problems (didn't tried yet), but if it does just install Clang/LLVM from one of the branches release_39 or release_40.

hassansalehe commented 7 years ago

@simoatze @dongahn thank you all. I have installed archer and everything is good so far.