blob: 89b1529811cd603dfba836ab3e58495468a01321 [file] [log] [blame]
Austin Schuh8c267c72023-11-18 14:05:14 -08001#include "frc971/orin/cuda.h"
2
3#include "gflags/gflags.h"
4#include "glog/logging.h"
5
6DEFINE_bool(
7 sync, false,
8 "If true, force synchronization after each step to isolate errors better.");
9
10namespace frc971 {
11namespace apriltag {
12
Austin Schuh1fc51fa2024-01-01 12:34:00 -080013size_t overall_memory = 0;
14
15void CheckAndSynchronize(std::string_view message) {
16 CHECK_CUDA(cudaDeviceSynchronize()) << message;
17 CHECK_CUDA(cudaGetLastError()) << message;
Austin Schuh8c267c72023-11-18 14:05:14 -080018}
19
20void MaybeCheckAndSynchronize() {
21 if (FLAGS_sync) CheckAndSynchronize();
22}
23
Austin Schuh1fc51fa2024-01-01 12:34:00 -080024void MaybeCheckAndSynchronize(std::string_view message) {
25 if (FLAGS_sync) CheckAndSynchronize(message);
26}
27
Austin Schuh8c267c72023-11-18 14:05:14 -080028} // namespace apriltag
29} // namespace frc971