blob: cd68a6c705adae5b9bc9a6827489a7d7448d8e9d [file] [log] [blame]
#include "frc971/orin/cuda.h"
#include "absl/flags/flag.h"
#include "absl/log/check.h"
ABSL_FLAG(
bool, sync, false,
"If true, force synchronization after each step to isolate errors better.");
namespace frc971::apriltag {
size_t overall_memory = 0;
void CheckAndSynchronize(std::string_view message) {
CHECK_CUDA(cudaDeviceSynchronize()) << message;
CHECK_CUDA(cudaGetLastError()) << message;
}
void MaybeCheckAndSynchronize() {
if (absl::GetFlag(FLAGS_sync)) CheckAndSynchronize();
}
void MaybeCheckAndSynchronize(std::string_view message) {
if (absl::GetFlag(FLAGS_sync)) CheckAndSynchronize(message);
}
} // namespace frc971::apriltag