diff options
author | Cedric Nugteren <web@cedricnugteren.nl> | 2018-05-19 17:54:27 +0200 |
---|---|---|
committer | Cedric Nugteren <web@cedricnugteren.nl> | 2018-05-19 17:54:27 +0200 |
commit | cbcd4ff7e8e21584a9a1f405c9f4cb979a73b718 (patch) | |
tree | 4a131ed480dc4f496a211453f95adfebaf3f6336 /src/utilities | |
parent | e057a9186a1ed0a169fcf4db7a2598d08f530834 (diff) | |
parent | 507d7bc729eff888dd499e937bf1a636cbdee75b (diff) |
Merge branch 'master' into CLBlast-267-convgemm
Diffstat (limited to 'src/utilities')
-rw-r--r-- | src/utilities/compile.cpp | 11 | ||||
-rw-r--r-- | src/utilities/compile.hpp | 3 | ||||
-rw-r--r-- | src/utilities/utilities.hpp | 3 |
3 files changed, 11 insertions, 6 deletions
diff --git a/src/utilities/compile.cpp b/src/utilities/compile.cpp index 65131cca..05c29944 100644 --- a/src/utilities/compile.cpp +++ b/src/utilities/compile.cpp @@ -21,7 +21,8 @@ namespace clblast { // ================================================================================================= // Compiles a program from source code -Program CompileFromSource(const std::string &source_string, const Precision precision, +std::shared_ptr<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, @@ -93,13 +94,13 @@ Program CompileFromSource(const std::string &source_string, const Precision prec } // Compiles the kernel - auto program = Program(context, kernel_string); + auto program = std::make_shared<Program>(context, kernel_string); try { - program.Build(device, options); + program->Build(device, options); } catch (const CLCudaAPIBuildError &e) { - if (program.StatusIsCompilationWarningOrError(e.status()) && !silent) { + if (program->StatusIsCompilationWarningOrError(e.status()) && !silent) { fprintf(stdout, "OpenCL compiler error/warning:\n%s\n", - program.GetBuildInfo(device).c_str()); + program->GetBuildInfo(device).c_str()); } throw; } diff --git a/src/utilities/compile.hpp b/src/utilities/compile.hpp index 1b4f4a7a..13e8c363 100644 --- a/src/utilities/compile.hpp +++ b/src/utilities/compile.hpp @@ -24,7 +24,8 @@ namespace clblast { // ================================================================================================= // Compiles a program from source code -Program CompileFromSource(const std::string &source_string, const Precision precision, +std::shared_ptr<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, diff --git a/src/utilities/utilities.hpp b/src/utilities/utilities.hpp index 2d2cd62e..a29e531a 100644 --- a/src/utilities/utilities.hpp +++ b/src/utilities/utilities.hpp @@ -52,6 +52,9 @@ const std::string kKhronosIntelSubgroups = "cl_intel_subgroups"; // Catched an unknown error constexpr auto kUnknownError = -999; +// Canary size to add to buffers to check for buffer overflows +constexpr auto kCanarySize = 127; + // ================================================================================================= // The routine-specific arguments in string form |