import ittapi
from argparse import ArgumentParser
from vtune_tool import run_vtune_hotspot_collection
from workload import workload
def run_sample():
@ittapi.task
def my_function_1():
workload()
@ittapi.task()
def my_function_2():
workload()
@ittapi.task('my function 3')
def my_function_3():
workload()
@ittapi.task(domain='my domain')
def my_function_4():
workload()
@ittapi.task
@ittapi.task('my function 5')
def my_function_5():
workload()
with ittapi.task():
workload()
with ittapi.task('my task', 'my domain'):
workload()
my_function_1()
my_function_2()
my_function_3()
my_function_4()
my_function_5()
overlapped_task_1 = ittapi.task('overlapped task 1', overlapped=True)
overlapped_task_1.begin()
workload()
overlapped_task_2 = ittapi.task('overlapped task 2', overlapped=True)
overlapped_task_2.begin()
workload()
overlapped_task_1.end()
workload()
overlapped_task_2.end()
class CallableClass:
def __call__(self, *args, **kwargs): workload()
callable_object = ittapi.task(CallableClass())
callable_object()
if __name__ == '__main__':
parser = ArgumentParser(description='The sample that demonstrates the use of wrappers for the Task API.')
parser.add_argument('--run-sample',
help='Runs code that uses wrappers for the Task API.',
action='store_true')
args = parser.parse_args()
if args.run_sample:
run_sample()
else:
run_vtune_hotspot_collection(['python', __file__, '--run-sample'])