This file contains function declarations and structs which handle informations on OpenMP regions. POMP2_Region_info is used to store these informations. It can be filled with a ctcString by ctcString2RegionInfo().
More...
#include "opari2_region_info.h"
#include <stdbool.h>
Go to the source code of this file.
|
struct | POMP2_Region_info |
| This struct stores all information on an OpenMP region, like the region type or corresponding source lines. The function ctcString2RegionInfo() can be used to fill this struct with data from a ctcString. More...
|
|
This file contains function declarations and structs which handle informations on OpenMP regions. POMP2_Region_info is used to store these informations. It can be filled with a ctcString by ctcString2RegionInfo().
- Date
- Started Fri Mar 20 16:30:45 2009
Value:CTC_OMP_Has_copy_in, \
CTC_OMP_Has_copy_private, \
CTC_OMP_Has_defaultSharing, \
CTC_OMP_Has_first_private, \
CTC_OMP_Has_last_private, \
CTC_OMP_Has_no_wait, \
CTC_OMP_Has_ordered, \
CTC_OMP_Has_reduction, \
CTC_OMP_Has_schedule, \
CTC_OMP_Has_shared, \
CTC_OMP_Num_sections, \
CTC_OMP_Critical_name, \
CTC_OMP_User_group_name, \
CTC_OMP_Has_if, \
CTC_OMP_Has_collapse, \
CTC_OMP_Has_num_threads, \
CTC_OMP_Has_untied
CTC Tokens
type to store the default value data sharing
type to store the scheduling type of a for worksharing constuct
ctcString2RegionInfo() fills the POMP2_Region_info object with data read from the ctcString. If the ctcString does not comply with the specification, the program aborts with exit code 1.
Rationale: ctcString2RegionInfo() is used during initialization of the measurement system. If an error occurs, it is better to abort than to struggle with undefined behaviour or guessing the meaning of the broken string.
- Note
- Can be called from multiple threads concurrently, assuming malloc is thread-safe.
-
ctcString2RegionInfo() will assign memory to the members of regionInfo. You are supposed to to release this memory by calling freePOMP2RegionInfoMembers().
- Parameters
-
ctcString | A string in the format "length*key=value*[key=value]*". The length field is parsed but not used by this implementation. Possible values for key are listed in ctcTokenMap. The string must at least contain values for the keys regionType , sscl and escl . Possible values for the key regionType are listed in regionTypesMap. The format for sscl resp. escl values is "filename:lineNo1:lineNo2" . |
regionInfo | must be a valid object |
- Postcondition
- At least the required attributes (see POMP2_Region_info) are set.
All other members of regionInfo are set to 0 resp. false resp. POMP2_No_schedule.
If regionType=sections
than POMP2_Region_info::mNumSections has a value > 0.
If regionType=critical
than POMP2_Region_info::mCriticalName may have a value != 0.
Free the memory of the regionInfo members.
- Parameters
-
regionInfo | The regioninfo to be freed. |
converts defaultSharingType into a string
- Parameters
-
defaultSharingType | The defaultSharingType to be converted. |
- Returns
- string representation of the defaultSharingType
converts regionType into a string
- Parameters
-
regionType | The regionType to be converted. |
- Returns
- string representation of the region type
converts scheduleType into a string
- Parameters
-
scheduleType | The scheduleType to be converted. |
- Returns
- string representation of the scheduleType