This following directive is used to specify arbitrary code region:
!SIS$ CR BEGIN arbitrary code region !SIS$ END CR
This directive is used to enable and disable instrumentation process.
!SIS$ MEASURE ENABLE code !SIS$ MEASURE DISABLENotice that if you disable the instrumentation in a process. Every execution of code regions in all threads will not be measured ( not only in the thread executed this statement).
In order to specify set of code regions in a block of code of the program( not entire program likes command line options that the user want to instrument, SIS supports a directive as following:
!SIS$ CR cr_mnemonic, ..., cr_mnemonic BEGIN code block !SIS$ CR ENDwhere cr_mnemnonic is the mnemonic for specifying selected code regions and code block is set of sequence statements. Each cr_mnemonic associates with each type of code regions such as loop, subroutine, MPI point-to-point, etc. Moreover SIS supplies a directive that has global scope: !SIS$ CR cr_mnemonic,...,cr_mnemonic The above directive is used to specify code regions that will be instrumented in a program unit.
!SIS$ CR cr_mnemonic, ..., cr_mnemonic PMETRIC perf_mnemonic, ..., perf_mnemonic BEGIN code !SIS$ CR ENDwhere cr_mnemonic is the mnemonic used to specified code regions shown in code regions, perf_mnemonic is the mnemonic used to specified performance metrics. !SIS$ CR cr_mnemonic, ..., cr_mnemonic PMETRIC perf_mnemonic, ...,perf_mnemonic This directive has the same function as above directive except that its scope is entire program unit where the directive is declared.