User Tools

Site Tools


howto:pgo

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
howto:pgo [2015/04/28 11:23] – faq:pgo renamed to howto:pgo oschuetthowto:pgo [2015/08/28 14:43] – update for makefile based testing vondele
Line 9: Line 9:
 3. Build the code with extra instrumentation (this binary is slow, and used only for training purposes) 3. Build the code with extra instrumentation (this binary is slow, and used only for training purposes)
    make -j ARCH=local VERSION=sopt PROFOPT=-fprofile-generate    make -j ARCH=local VERSION=sopt PROFOPT=-fprofile-generate
-4. Run the binary either on a specific testcase, or on the full testsuite (do_regtest) for good coverage. Only those parts of the code executed during the training run can benefit from PGO. This will write additional files (.gcda) files in the obj directory. +4. Run the binary either on a specific testcase, or on the full testsuite for good coverage. Only those parts of the code executed during the training run can benefit from PGO. This will write additional files (.gcda) files in the obj directory. 
-   ../../exe/local/cp2k.sopt -i test.inp -test.out+   make -j ARCH=local VERSION=sopt PROFOPT=-fprofile-generate test
 5. Remove the old instrumented object files, retaining the .gcda files (i.e. clean) 5. Remove the old instrumented object files, retaining the .gcda files (i.e. clean)
-   make -j ARCH=local VERSION=sopt clean+   make -j ARCH=local VERSION=sopt PROFOPT=-fprofile-use clean
 6. Recompile to build the optimized binary using the profile data. 6. Recompile to build the optimized binary using the profile data.
    make -j ARCH=local VERSION=sopt PROFOPT=-fprofile-use    make -j ARCH=local VERSION=sopt PROFOPT=-fprofile-use
howto/pgo.txt · Last modified: 2020/08/21 10:15 by 127.0.0.1