diff options
Diffstat (limited to 'src/utilities/compile.cpp')
-rw-r--r-- | src/utilities/compile.cpp | 11 |
1 files changed, 6 insertions, 5 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; } |