FEAT
3
Finite Element Analysis Toolbox
Loading...
Searching...
No Matches
likwid_marker.hpp
Go to the documentation of this file.
1
// FEAT3: Finite Element Analysis Toolbox, Version 3
2
// Copyright (C) 2010 by Stefan Turek & the FEAT group
3
// FEAT3 is released under the GNU General Public License version 3,
4
// see the file 'copyright.txt' in the top level directory for details.
5
#pragma once
6
7
13
// This block enables to compile the code with and without the likwid header.
14
// Since these are pre-compile macros, these are "ignored" if the code is build without
15
// the likwid-library
16
#ifdef LIKWID_PERFMON
17
#include <likwid-marker.h>
18
#else
19
// cpu markers
20
#define LIKWID_MARKER_INIT ((void)0)
21
#define LIKWID_MARKER_THREADINIT ((void)0)
22
#define LIKWID_MARKER_SWITCH ((void)0)
23
#define LIKWID_MARKER_REGISTER(regionTag) ((void)0)
24
#define LIKWID_MARKER_START(regionTag) ((void)0)
25
#define LIKWID_MARKER_STOP(regionTag) ((void)0)
26
#define LIKWID_MARKER_CLOSE ((void)0)
27
#define LIKWID_MARKER_GET(regionTag, nevents, events, time, count) ((void)0)
28
#endif
29
30
// special case if we did not activate cuda support, this logic requires
31
// that LIKWID_NVMON is only defined if LIKWID_PERFMON is also defined
32
#ifndef LIKWID_NVMARKER_INIT
33
//gpu markers
34
#define LIKWID_NVMARKER_INIT ((void)0)
35
#define LIKWID_NVMARKER_SWITCH ((void)0)
36
#define LIKWID_NVMARKER_REGISTER(regionTag) ((void)0)
37
#define LIKWID_NVMARKER_START(regionTag) ((void)0)
38
#define LIKWID_NVMARKER_STOP(regionTag) ((void)0)
39
#define LIKWID_NVMARKER_RESET(regionTag) ((void)0)
40
#define LIKWID_NVMARKER_CLOSE ((void)0)
41
#define LIKWID_NVMARKER_GET(name, ngpu, nevents, eventlist, time, count) ((void)0)
42
#endif
43
44
//these are simple aliases which should only be called once per programm, i.e. in FEAT runtime guard
46
#define FEAT_MARKER_INIT LIKWID_MARKER_INIT
48
#define FEAT_MARKER_THREADINIT LIKWID_MARKER_THREADINIT
50
#define FEAT_MARKER_SWITCH LIKWID_MARKER_SWITCH
52
#define FEAT_MARKER_CLOSE LIKWID_MARKER_CLOSE
53
54
55
// Now we define three different aliases of these markers, which essentially
56
// do the same thing, but can be activated seperatly...
57
58
#ifdef FEAT_KERNEL_MARKER_ACTIVATED
59
60
#define FEAT_KERNEL_MARKER_REGISTER(regionTag) LIKWID_MARKER_REGISTER(regionTag)
61
#define FEAT_KERNEL_MARKER_START(regionTag) LIKWID_MARKER_START(regionTag)
62
#define FEAT_KERNEL_MARKER_STOP(regionTag) LIKWID_MARKER_STOP(regionTag)
63
#define FEAT_KERNEL_MARKER_GET(regionTag, nevents, events, time, count) LIKWID_MARKER_GET(regionTag, nevents, events, time, count)
64
#else
65
#define FEAT_KERNEL_MARKER_REGISTER(regionTag) ((void)0)
66
#define FEAT_KERNEL_MARKER_START(regionTag) ((void)0)
67
#define FEAT_KERNEL_MARKER_STOP(regionTag) ((void)0)
68
#define FEAT_KERNEL_MARKER_GET(regionTag, nevents, events, time, count) ((void)0)
69
70
#endif
//FEAT_KERNEL_MARKER_ACTIVATED
71
72
#ifdef FEAT_APPLICATION_MARKER_ACTIVATED
73
#define FEAT_APPLICATION_MARKER_REGISTER(regionTag) LIKWID_MARKER_REGISTER(regionTag)
74
#define FEAT_APPLICATION_MARKER_START(regionTag) LIKWID_MARKER_START(regionTag)
75
#define FEAT_APPLICATION_MARKER_STOP(regionTag) LIKWID_MARKER_STOP(regionTag)
76
#define FEAT_APPLICATION_MARKER_GET(regionTag, nevents, events, time, count) LIKWID_MARKER_GET(regionTag, nevents, events, time, count)
77
#else
78
#define FEAT_APPLICATION_MARKER_REGISTER(regionTag) ((void)0)
79
#define FEAT_APPLICATION_MARKER_START(regionTag) ((void)0)
80
#define FEAT_APPLICATION_MARKER_STOP(regionTag) ((void)0)
81
#define FEAT_APPLICATION_MARKER_GET(regionTag, nevents, events, time, count) ((void)0)
82
#endif
//FEAT_APPLICATION_MARKER_ACTIVATED
83
84
#ifdef FEAT_SPECIAL_MARKER_ACTIVATED
85
#define FEAT_SPECIAL_MARKER_REGISTER(regionTag) LIKWID_MARKER_REGISTER(regionTag)
86
#define FEAT_SPECIAL_MARKER_START(regionTag) LIKWID_MARKER_START(regionTag)
87
#define FEAT_SPECIAL_MARKER_STOP(regionTag) LIKWID_MARKER_STOP(regionTag)
88
#define FEAT_SPECIAL_MARKER_GET(regionTag, nevents, events, time, count) LIKWID_MARKER_GET(regionTag, nevents, events, time, count)
89
#else
90
#define FEAT_SPECIAL_MARKER_REGISTER(regionTag) ((void)0)
91
#define FEAT_SPECIAL_MARKER_START(regionTag) ((void)0)
92
#define FEAT_SPECIAL_MARKER_STOP(regionTag) ((void)0)
93
#define FEAT_SPECIAL_MARKER_GET(regionTag, nevents, events, time, count) ((void)0)
94
#endif
//FEAT_KERNEL_MARKER_ACTIVATED
95
96
// FEAT CUDA marker
97
98
//these are simple aliases which should only be called once per programm, i.e. in FEAT runtime guard
100
#define FEAT_NVMARKER_INIT LIKWID_NVMARKER_INIT
102
#define FEAT_NVMARKER_THREADINIT LIKWID_NVMARKER_THREADINIT
104
#define FEAT_NVMARKER_SWITCH LIKWID_NVMARKER_SWITCH
106
#define FEAT_NVMARKER_CLOSE LIKWID_NVMARKER_CLOSE
107
108
#define FEAT_NVMARKER_REGISTER(regionTag) LIKWID_NVMARKER_REGISTER(regionTag)
109
#define FEAT_NVMARKER_START(regionTag) LIKWID_NVMARKER_START(regionTag)
110
#define FEAT_NVMARKER_STOP(regionTag) LIKWID_NVMARKER_STOP(regionTag)
111
#define FEAT_NVMARKER_RESET(regionTag) LIKWID_NVMARKER_RESET(regionTag)
112
#define FEAT_NVMARKER_GET(name, ngpu, nevents, eventlist, time, count) LIKWID_NVMARKER_GET(name, ngpu, nevents, eventlist, time, count)
kernel
util
likwid_marker.hpp
Generated by
1.9.5