#ifdef CUFFT
#include <cufft.h>
+#include "nvToolsExt.h"
#endif
public:
bool debug = false;
+ static constexpr int precision = 2;
std::string indent() { return std::string(indentLvl * 4, ' '); }
public:
FTrace(DbgTracer &dt, const char *fn, const char *format, ...) : t(dt), funcName(fn)
{
+#ifdef CUFFT
+ nvtxRangePushA(fn);
+#endif
if (!t.debug) return;
char *arg;
va_list vl;
}
~FTrace()
{
+#ifdef CUFFT
+ nvtxRangePop();
+#endif
if (!t.debug) return;
t.indentLvl--;
std::cerr << t.indent() << "}" << std::endl;
{
(void)line;
if (debug || always) {
-#ifdef CUFFT
- CudaSafeCall(cudaStreamSynchronize(cudaStreamPerThread));
-#endif
+ IOSave s(std::cerr);
+ std::cerr << std::setprecision(precision);
std::cerr << indent() << name /*<< " @" << line */ << " " << print(obj) << std::endl;
}
}