mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-22 10:17:01 +08:00
Include files are now grouped and sorted in following order: 1. Header file of the class the current file implements 2. Project files 3. Third party files 4. Standard library Change-Id: If31af05652184169f7fee1d7ad08f1b2ed602cf0 Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
35 lines
873 B
C++
35 lines
873 B
C++
/*
|
|
* Copyright (C) 2017-2019 Intel Corporation
|
|
*
|
|
* SPDX-License-Identifier: MIT
|
|
*
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "runtime/utilities/arrayref.h"
|
|
|
|
#include <cstdint>
|
|
#include <cstring>
|
|
#include <mutex>
|
|
#include <string>
|
|
|
|
namespace OCLRT {
|
|
struct HardwareInfo;
|
|
class Program;
|
|
|
|
class BinaryCache {
|
|
public:
|
|
static const std::string getCachedFileName(const HardwareInfo &hwInfo, ArrayRef<const char> input,
|
|
ArrayRef<const char> options, ArrayRef<const char> internalOptions);
|
|
BinaryCache();
|
|
virtual ~BinaryCache();
|
|
virtual bool cacheBinary(const std::string kernelFileHash, const char *pBinary, uint32_t binarySize);
|
|
virtual bool loadCachedBinary(const std::string kernelFileHash, Program &program);
|
|
|
|
protected:
|
|
static std::mutex cacheAccessMtx;
|
|
std::string clCacheLocation;
|
|
};
|
|
} // namespace OCLRT
|