timemory 3.3.0
Modular C++ Toolkit for Performance Analysis and Logging. Profiling API and Tools for C, C++, CUDA, Fortran, and Python. The C++ template API is essentially a framework to creating tools: it is designed to provide a unifying interface for recording various performance measurements alongside data logging and interfaces to other tools.
extern.cpp
Go to the documentation of this file.
1// MIT License
2//
3// Copyright (c) 2020, The Regents of the University of California,
4// through Lawrence Berkeley National Laboratory (subject to receipt of any
5// required approvals from the U.S. Dept. of Energy). All rights reserved.
6//
7// Permission is hereby granted, free of charge, to any person obtaining a copy
8// of this software and associated documentation files (the "Software"), to deal
9// in the Software without restriction, including without limitation the rights
10// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11// copies of the Software, and to permit persons to whom the Software is
12// furnished to do so, subject to the following conditions:
13//
14// The above copyright notice and this permission notice shall be included in all
15// copies or substantial portions of the Software.
16//
17// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23// SOFTWARE.
24
26
27#include "timemory/components/craypat/backends.hpp"
28
29#if !defined(CRAYPAT)
30//
31extern "C"
32{
33 //
34 static auto PAT_async_ret = std::numeric_limits<long int>::max();
35 //
36 int PAT_record(int) { return PAT_API_FAIL; }
37 int PAT_flush_buffer(unsigned long*) { return PAT_API_FAIL; }
38 int PAT_region_begin(int, const char*) { return PAT_API_FAIL; }
39 int PAT_region_end(int) { return PAT_API_FAIL; }
40 int PAT_heap_stats(void) { return PAT_API_FAIL; }
41 int PAT_counters(int, const char*[], unsigned long[], int*) { return PAT_API_FAIL; }
42 // openmp
45 void PAT_omp_loop_enter(void) {}
46 void PAT_omp_loop_exit(void) {}
48 void PAT_omp_master_exit(void) {}
54 void PAT_omp_section_end(void) {}
58 void PAT_omp_single_exit(void) {}
59 void PAT_omp_task_begin(void) {}
60 void PAT_omp_task_end(void) {}
61 void PAT_omp_task_enter(void) {}
62 void PAT_omp_task_exit(void) {}
65 // open-acc
66 void PAT_acc_async_kernel_end(int, long int, int) {}
67 long int PAT_acc_async_kernel_enter(int) { return PAT_async_ret; }
69 void PAT_acc_async_transfer_end(int, long int, int) {}
70 long int PAT_acc_async_transfer_enter(int) { return PAT_async_ret; }
71 void PAT_acc_async_transfer_exit(int, long int, long int) {}
74 void PAT_acc_data_enter(int) {}
75 void PAT_acc_data_exit(int) {}
78 void PAT_acc_loop_enter(int) {}
79 void PAT_acc_loop_exit(int) {}
84 void PAT_acc_sync_enter(int) {}
85 void PAT_acc_sync_exit(int) {}
87 void PAT_acc_transfer_exit(int, long int, long int) {}
90 //
91} // extern "C"
92//
93#endif
void PAT_omp_barrier_exit(void)
Definition: extern.cpp:44
void PAT_acc_kernel_exit(int)
Definition: extern.cpp:77
void PAT_omp_parallel_begin(void)
Definition: extern.cpp:49
void PAT_acc_sync_exit(int)
Definition: extern.cpp:85
void PAT_omp_single_enter(void)
Definition: extern.cpp:57
void PAT_acc_region_exit(int)
Definition: extern.cpp:81
void PAT_acc_async_transfer_end(int, long int, int)
Definition: extern.cpp:69
void PAT_acc_kernel_enter(int)
Definition: extern.cpp:76
void PAT_acc_update_exit(int)
Definition: extern.cpp:89
void PAT_acc_loop_enter(int)
Definition: extern.cpp:78
int PAT_counters(int, const char *[], unsigned long[], int *)
Definition: extern.cpp:41
void PAT_omp_barrier_enter(void)
Definition: extern.cpp:43
void PAT_acc_region_loop_exit(int)
Definition: extern.cpp:83
void PAT_acc_barrier_enter(int)
Definition: extern.cpp:72
int PAT_record(int)
Definition: extern.cpp:36
void PAT_acc_transfer_exit(int, long int, long int)
Definition: extern.cpp:87
int PAT_heap_stats(void)
Definition: extern.cpp:40
void PAT_omp_parallel_end(void)
Definition: extern.cpp:50
void PAT_acc_data_enter(int)
Definition: extern.cpp:74
void PAT_omp_loop_enter(void)
Definition: extern.cpp:45
void PAT_acc_transfer_enter(int)
Definition: extern.cpp:86
void PAT_acc_async_kernel_exit(int)
Definition: extern.cpp:68
void PAT_omp_parallel_enter(void)
Definition: extern.cpp:51
void PAT_omp_sections_exit(void)
Definition: extern.cpp:56
void PAT_acc_barrier_exit(int)
Definition: extern.cpp:73
void PAT_acc_loop_exit(int)
Definition: extern.cpp:79
void PAT_omp_section_end(void)
Definition: extern.cpp:54
void PAT_omp_task_begin(void)
Definition: extern.cpp:59
void PAT_omp_workshare_exit(void)
Definition: extern.cpp:64
int PAT_region_begin(int, const char *)
Definition: extern.cpp:38
void PAT_acc_async_transfer_exit(int, long int, long int)
Definition: extern.cpp:71
void PAT_omp_parallel_exit(void)
Definition: extern.cpp:52
void PAT_omp_master_enter(void)
Definition: extern.cpp:47
void PAT_omp_loop_exit(void)
Definition: extern.cpp:46
long int PAT_acc_async_kernel_enter(int)
Definition: extern.cpp:67
void PAT_acc_update_enter(int)
Definition: extern.cpp:88
void PAT_omp_single_exit(void)
Definition: extern.cpp:58
void PAT_omp_task_enter(void)
Definition: extern.cpp:61
void PAT_acc_async_kernel_end(int, long int, int)
Definition: extern.cpp:66
void PAT_acc_region_loop_enter(int)
Definition: extern.cpp:82
void PAT_omp_workshare_enter(void)
Definition: extern.cpp:63
int PAT_region_end(int)
Definition: extern.cpp:39
void PAT_acc_sync_enter(int)
Definition: extern.cpp:84
long int PAT_acc_async_transfer_enter(int)
Definition: extern.cpp:70
void PAT_acc_region_enter(int)
Definition: extern.cpp:80
void PAT_omp_section_begin(void)
Definition: extern.cpp:53
void PAT_omp_task_end(void)
Definition: extern.cpp:60
int PAT_flush_buffer(unsigned long *)
Definition: extern.cpp:37
void PAT_omp_master_exit(void)
Definition: extern.cpp:48
void PAT_omp_sections_enter(void)
Definition: extern.cpp:55
void PAT_acc_data_exit(int)
Definition: extern.cpp:75
void PAT_omp_task_exit(void)
Definition: extern.cpp:62
Include the extern declarations for craypat components.
::tim::statistics< Tp > max(::tim::statistics< Tp > lhs, const Tp &rhs)
Definition: statistics.hpp:320