P4 to Git Change 1336353 by lmoriche@lmoriche_opencl_dev on 2016/11/03 18:47:50

SWDEV-105604 - [OCL-LC-PAL] OpenCL program manager for LC on PAL
	- Finish the implementation of the program manager to support separare compilation and binary loading.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palprogram.cpp#22 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palprogram.hpp#13 edit


[ROCm/clr commit: 065133bbc0]
This commit is contained in:
foreman
2016-11-03 18:56:31 -04:00
parent 5a2827406e
commit 6d277ef77e
2 changed files with 240 additions and 0 deletions
@@ -302,6 +302,16 @@ public:
private:
virtual ~LightningProgram();
/* \brief Returns the next stage to compile from, based on sections in binary,
* also returns completeStages in a vector, which contains at least ACL_TYPE_DEFAULT,
* sets needOptionsCheck to true if options check is needed to decide whether or not to recompile
*/
aclType getCompilationStagesFromBinary(std::vector<aclType>& completeStages, bool& needOptionsCheck);
/* \brief Returns the next stage to compile from, based on sections and options in binary
*/
aclType getNextCompilationStageFromBinary(amd::option::Options* options);
protected:
virtual bool compileImpl(
const std::string& sourceCode, //!< the program's source code
@@ -312,8 +322,15 @@ protected:
virtual bool linkImpl(amd::option::Options* options) override;
//! Link the device programs.
virtual bool linkImpl (const std::vector<device::Program*>& inputPrograms,
amd::option::Options* options,
bool createLibrary) override;
bool setKernels(amd::option::Options *options, void* binary, size_t size);
virtual bool createBinary(amd::option::Options* options) override;
//! Return a new transient compiler instance.
static std::auto_ptr<amd::opencl_driver::Compiler> newCompilerInstance();