MCPcopy Create free account
hub / github.com/ROCm/clr / loadModule

Method loadModule

hipamd/src/hip_platform.cpp:818–841  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

816}
817
818hipError_t PlatformState::loadModule(hipModule_t* module, const char* fname, const void* image) {
819 if (module == nullptr) {
820 return hipErrorInvalidValue;
821 }
822
823 hip::DynCO* dynCo = new hip::DynCO();
824 hipError_t hip_error = dynCo->loadCodeObject(fname, image);
825 if (hip_error != hipSuccess) {
826 delete dynCo;
827 return hip_error;
828 }
829
830 *module = dynCo->getModule();
831 assert(*module != nullptr);
832
833 amd::ScopedLock lock(lock_);
834 if (dynCO_map_.find(*module) != dynCO_map_.end()) {
835 delete dynCo;
836 return hipErrorAlreadyMapped;
837 }
838 dynCO_map_.insert(std::make_pair(*module, dynCo));
839
840 return hipSuccess;
841}
842
843hipError_t PlatformState::unloadModule(hipModule_t hmod) {
844 amd::ScopedLock lock(lock_);

Callers 4

hipModuleLoadFatBinaryFunction · 0.80
hipModuleLoadFunction · 0.80
hipModuleLoadDataFunction · 0.80
hipModuleLoadDataExFunction · 0.80

Calls 3

loadCodeObjectMethod · 0.80
getModuleMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected