diff options
author | Cedric Nugteren <web@cedricnugteren.nl> | 2018-05-01 20:34:48 +0200 |
---|---|---|
committer | Cedric Nugteren <web@cedricnugteren.nl> | 2018-05-01 20:34:48 +0200 |
commit | 8258321a74f5b44a559c91bb0adb1358d22da801 (patch) | |
tree | 153d7f37e6629f0404a0da7b2110b25ea0a7dfdc /src/utilities | |
parent | b2248a17ae24ba72618d80b98196221049cc3933 (diff) |
Now stores a shared_ptr to the Program class in the cache
Diffstat (limited to 'src/utilities')
-rw-r--r-- | src/utilities/compile.cpp | 11 | ||||
-rw-r--r-- | src/utilities/compile.hpp | 3 |
2 files changed, 8 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, |