根據您對cuda-memcheck
的行爲的評論,您可以使用以下命令。
cuda-memcheck --log-file memcheck.log app.exe >app.stdout.txt
編輯
這是我在CentOS測試。它可能適用於Win32控制檯應用程序,但不適用於Win32應用程序。
a.cu
#include <iostream>
int main() {
std::cout<< "hello world to stdout!" <<std::endl;
std::cerr<< "hello world to stderr!" <<std::endl;
return 0;
}
編譯命令:
$ nvcc -O3 -o a a.cu
運行命令:
$ cuda-memcheck --log-file mem.log a >a.stdout.log 2>a.stderr.log
結果文件:
$ cat mem.log
========= CUDA-MEMCHECK
========= ERROR SUMMARY: 0 errors
$ cat a.stdout.log
hello world to stdout!
$ cat a.stderr.log
hello world to stderr!
您是否嘗試過'clog-file'的cmd選項和/或'cuda-memcheck'的'--save'? – kangshiyin
重定向memcheck輸出,但不是它啓動的應用程序的輸出。 – Jofo