Code I have used in the paper "A Load Balancing Inspired Optimization Framework for Exascale Multicore Systems: A Complex Networks Approach"
(TP_C.pl or TP_C++.pl are scripts to automate the whole profiling process. We highly suggest to use TP_C.pl due to C++ name mangling.) Documents contains LLVM installation guide and tool tutorials.
- LLVM 3.5.2 Installation Guide if you want to use LLVM-Tracer;
- LLVM 3.8.1 Installation Guide if you want to use Contech;
- We removed the constraints of pipeline parallelism. Now, this framework can be applied to all high level C/C++ code.
- We removed rdtsc functions since some were complaining about the overhead.
-
Contech tool. We built on this tool to profile applications. https://github.com/bprail/contech
-
Modularity based community detection. We used the following code in the original paper. https://www.cs.unm.edu/~aaron/research/fastmodularity.htm Later, we found out that this code performed better. https://sites.google.com/site/findcommunities/
- Make the code clean and add comments.
-
We are thinking to use this tool to generate traces. https://github.com/ysshao/LLVM-Tracer
-
Connect it with gem5 for ease of verification. https://github.com/gem5/gem5
If you have any concerns or suggestions, feel free to send me (xiaoyao at usc.edu) emails. We would like to see your valuable feedback.