blob: 6bcc79c6a537c498272d48fd515d12e4b40daa8e [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
Stephan Pleinesf63bde82024-01-13 15:59:33 -080010namespace frc971::apriltag {
Austin Schuh8c267c72023-11-18 14:05:14 -080011
Austin Schuh1fc51fa2024-01-01 12:34:00 -080012size_t overall_memory = 0;
13
14void CheckAndSynchronize(std::string_view message) {
15 CHECK_CUDA(cudaDeviceSynchronize()) << message;
16 CHECK_CUDA(cudaGetLastError()) << message;
Austin Schuh8c267c72023-11-18 14:05:14 -080017}
18
19void MaybeCheckAndSynchronize() {
20 if (FLAGS_sync) CheckAndSynchronize();
21}
22
Austin Schuh1fc51fa2024-01-01 12:34:00 -080023void MaybeCheckAndSynchronize(std::string_view message) {
24 if (FLAGS_sync) CheckAndSynchronize(message);
25}
26
Stephan Pleinesf63bde82024-01-13 15:59:33 -080027} // namespace frc971::apriltag