diff options
author | Cedric Nugteren <web@cedricnugteren.nl> | 2017-11-19 16:58:13 +0100 |
---|---|---|
committer | Cedric Nugteren <web@cedricnugteren.nl> | 2017-11-19 16:58:13 +0100 |
commit | 4e0d08c3bcf1816984934fcb211355590564615f (patch) | |
tree | 62fc35d8d7f8091b462590e04e52715bc837cf77 /src/utilities | |
parent | a3a8b44f598b3eca18ab226112bf5c2bc3b19df8 (diff) |
Added compilation timing and better compilation error reporting
Diffstat (limited to 'src/utilities')
-rw-r--r-- | src/utilities/compile.cpp | 6 | ||||
-rw-r--r-- | src/utilities/compile.hpp | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/utilities/compile.cpp b/src/utilities/compile.cpp index 3c02d316..2a55506e 100644 --- a/src/utilities/compile.cpp +++ b/src/utilities/compile.cpp @@ -23,7 +23,7 @@ namespace clblast { Program CompileFromSource(const std::string &source_string, const Precision precision, const std::string &routine_name, const Device& device, const Context& context, - std::vector<std::string>& options) { + std::vector<std::string>& options, const bool silent) { auto header_string = std::string{""}; header_string += "#define PRECISION " + ToString(static_cast<int>(precision)) + "\n"; @@ -78,8 +78,8 @@ Program CompileFromSource(const std::string &source_string, const Precision prec try { program.Build(device, options); } catch (const CLCudaAPIBuildError &e) { - if (program.StatusIsCompilationWarningOrError(e.status())) { - fprintf(stdout, "OpenCL compiler error/warning: %s\n", + if (program.StatusIsCompilationWarningOrError(e.status()) && !silent) { + fprintf(stdout, "OpenCL compiler error/warning:\n%s\n", program.GetBuildInfo(device).c_str()); } throw; diff --git a/src/utilities/compile.hpp b/src/utilities/compile.hpp index bd4686eb..0315d70c 100644 --- a/src/utilities/compile.hpp +++ b/src/utilities/compile.hpp @@ -27,7 +27,7 @@ namespace clblast { Program CompileFromSource(const std::string &source_string, const Precision precision, const std::string &routine_name, const Device& device, const Context& context, - std::vector<std::string>& options); + std::vector<std::string>& options, const bool silent = false); // ================================================================================================= } // namespace clblast |