Now ATIDLAS is standalone. Everything dynamic....

This commit is contained in:
Philippe Tillet
2015-01-12 13:20:53 -05:00
parent a6de4c96be
commit 69311b7982
3845 changed files with 646893 additions and 6620 deletions

36
lib/cl/lazy_compiler.cpp Normal file
View File

@@ -0,0 +1,36 @@
#include "atidlas/cl/lazy_compiler.h"
namespace atidlas
{
namespace cl
{
lazy_compiler::lazy_compiler(cl::Context const & ctx, std::string const & name, std::string const & src, bool force_recompilation) :
context_(ctx), program_(NULL), pname_(name), src_(src), force_recompilation_(force_recompilation)
{ }
lazy_compiler::lazy_compiler(cl::Context const & ctx, std::string const & name, bool force_recompilation) :
context_(ctx), program_(NULL), pname_(name), force_recompilation_(force_recompilation)
{ }
void lazy_compiler::add(std::string const & src)
{ src_+=src; }
std::string const & lazy_compiler::src() const
{ return src_; }
cl::Program & lazy_compiler::program()
{
if(program_()==0)
{
if(force_recompilation_)
pmap.erase(context_, pname_);
program_ = pmap.add(context_, pname_, src_);
}
return program_;
}
}
}