summaryrefslogtreecommitdiff
path: root/src/utilities
diff options
context:
space:
mode:
authorCedric Nugteren <web@cedricnugteren.nl>2017-11-19 16:58:13 +0100
committerCedric Nugteren <web@cedricnugteren.nl>2017-11-19 16:58:13 +0100
commit4e0d08c3bcf1816984934fcb211355590564615f (patch)
tree62fc35d8d7f8091b462590e04e52715bc837cf77 /src/utilities
parenta3a8b44f598b3eca18ab226112bf5c2bc3b19df8 (diff)
Added compilation timing and better compilation error reporting
Diffstat (limited to 'src/utilities')
-rw-r--r--src/utilities/compile.cpp6
-rw-r--r--src/utilities/compile.hpp2
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