Jump to: navigation, search

GPU621 Team Tsubame

26 bytes added, 03:58, 21 November 2016
How is it actually used?
''' Preparations: '''
1. Download and unzip Prefix to a preferred location and open it with Visual Studio 2015.
4. Change the following project properties:
1a. In C/C++ > General > Additional Include Directories, add the Advisor’s directory using macro notation: $(ADVISOR_..._DIR)include (or $(ADVISOR_..._DIR)\include if the environment variable does not end with a backslash).
2b. In C/C++ > General > Debug Information Format, confirm it is set to Program Database (/Zi).
3c. In Linker > Debugging > Generate Debug Info, set it to Optimize for debugging (/DEBUG).
4d. In C/C++ > Optimization > Optimization, confirm it is set to Maximize Speed (/O2) or higher.
5e. On the same page, set Inline Function Expansion to Only __inline (/Ob1).
6f. In C/C++ > Code Generation > Runtime Library, confirm it has been set to Multi-threaded DLL (/MD); another option is to set this field to Multi-threaded Debug DLL (/MDd).
7g. Enable OpenMP under C/C++ > Language > OpenMP Support by setting it to Generate Parallel Code (/Qopenmp).
8h. Click OK to save the properties.
5. Comment out the “terminate” section in w3.main.cpp to end the application without waiting for user input.
''' Profiling: '''
1. Allow Advisor to survey the application by clicking on the Collect button under the Threading Workflow tab (on the left panel).
''' Further Analysis: '''
1. Looking at the report, you can pick targets from the list of Function Call Sites and Loops to annotate and determine if they are suitable for parallel framework code. For the purpose of this walkthrough, the inner loop of the upsweep in exclusive scan was chosen as the target for annotations.
2. To add annotations, include the <advisor-annotate.h> header file.
3. Mark a possible parallel site and task with the following macros:ANNOTATE_SITE_BEGIN(Site Name); ... ANNOTATE_SITE_END;
4. Rebuild the project and you might need to re-run the Survey Analysis and the (optional) Trip Counts and FLOPS Analysis.

Navigation menu