aboutsummaryrefslogtreecommitdiff
path: root/utils/Utils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'utils/Utils.cpp')
-rw-r--r--utils/Utils.cpp82
1 files changed, 0 insertions, 82 deletions
diff --git a/utils/Utils.cpp b/utils/Utils.cpp
index 80b47d7675..70c2004d7a 100644
--- a/utils/Utils.cpp
+++ b/utils/Utils.cpp
@@ -274,87 +274,5 @@ uint64_t get_mem_free_from_meminfo()
// Nothing found or an error during opening the file
return 0;
}
-
-/** This function loads prebuilt opencl kernels from a file
- *
- * @param[in] filename Name of the file to be used to load the kernels
- */
-void restore_program_cache_from_file(const std::string &filename)
-{
-#ifdef ARM_COMPUTE_CL
- std::ifstream cache_file(filename, std::ios::binary);
- if(cache_file.is_open())
- {
- if(!CLScheduler::get().is_initialised())
- {
- arm_compute::CLScheduler::get().default_init();
- }
-
- while(!cache_file.eof())
- {
- size_t name_len = 0;
- size_t binary_len = 0;
- cache_file.read(reinterpret_cast<char *>(&name_len), sizeof(size_t));
- cache_file.read(reinterpret_cast<char *>(&binary_len), sizeof(size_t));
- if(name_len == 0 || binary_len == 0)
- {
- break;
- }
- std::vector<char> tmp(name_len);
- std::vector<unsigned char> binary(binary_len);
- std::string name;
- cache_file.read(tmp.data(), name_len);
- name.assign(tmp.data(), name_len);
- tmp.resize(binary_len);
- cache_file.read(reinterpret_cast<char *>(binary.data()), binary_len);
- cl::Context context = arm_compute::CLScheduler::get().context();
- cl::Program::Binaries binaries{ binary };
- std::vector<cl::Device> devices = context.getInfo<CL_CONTEXT_DEVICES>();
- cl::Program program(context, devices, binaries);
- program.build();
- CLKernelLibrary::get().add_built_program(name, program);
- }
- cache_file.close();
- }
-#else /* ARM_COMPUTE_CL */
- ARM_COMPUTE_UNUSED(filename);
-#endif /* ARM_COMPUTE_CL */
-}
-
-/** This function saves opencl kernels library to a file
- *
- * @param[in] filename Name of the file to be used to save the library
- */
-void save_program_cache_to_file(const std::string &filename)
-{
-#ifdef ARM_COMPUTE_CL
- if(CLScheduler::get().is_initialised())
- {
- std::ofstream cache_file(filename, std::ios::binary);
- if(cache_file.is_open())
- {
- for(const auto &it : CLKernelLibrary::get().get_built_programs())
- {
- std::vector<std::vector<unsigned char>> binaries = it.second.getInfo<CL_PROGRAM_BINARIES>();
- ARM_COMPUTE_ERROR_ON(binaries.size() != 1);
- const std::string kernel_name = it.first;
- size_t kernel_name_size = kernel_name.length();
- size_t binary_size = binaries[0].size();
- cache_file.write(reinterpret_cast<char *>(&kernel_name_size), sizeof(size_t));
- cache_file.write(reinterpret_cast<char *>(&binary_size), sizeof(size_t));
- cache_file.write(kernel_name.c_str(), kernel_name_size);
- cache_file.write(reinterpret_cast<const char *>(binaries[0].data()), binaries[0].size());
- }
- cache_file.close();
- }
- else
- {
- ARM_COMPUTE_ERROR("Cannot open cache file");
- }
- }
-#else /* ARM_COMPUTE_CL */
- ARM_COMPUTE_UNUSED(filename);
-#endif /* ARM_COMPUTE_CL */
-}
} // namespace utils
} // namespace arm_compute