diff --git a/rocrtst/common/base_rocr_utils.cc b/rocrtst/common/base_rocr_utils.cc index f171aae456..b33679908b 100755 --- a/rocrtst/common/base_rocr_utils.cc +++ b/rocrtst/common/base_rocr_utils.cc @@ -306,6 +306,11 @@ hsa_status_t LoadKernelFromObjFile(BaseRocR* test, hsa_agent_t* agent) { hsa_file_t file_handle = open(obj_file.c_str(), O_RDONLY); + if (file_handle == -1) { + obj_file = "./" + test->get_agent_name() + "/" + test->kernel_file_name(); + file_handle = open(obj_file.c_str(), O_RDONLY); + } + if (file_handle == -1) { std::cout << "failed to open " << obj_file.c_str() << " at line " << __LINE__ << ", file: " << __FILE__ << std::endl; diff --git a/rocrtst/samples/binary_search/binary_search.cc b/rocrtst/samples/binary_search/binary_search.cc index 627790a32f..99090cda2d 100755 --- a/rocrtst/samples/binary_search/binary_search.cc +++ b/rocrtst/samples/binary_search/binary_search.cc @@ -378,6 +378,14 @@ hsa_status_t LoadKernelFromObjFile(BinarySearch* bs) { hsa_file_t file_handle = open(bs->kernel_file_name.c_str(), O_RDONLY); + if (file_handle == -1) { + char agent_name[64]; + err = hsa_agent_get_info(bs->gpu_dev, HSA_AGENT_INFO_NAME, agent_name); + RET_IF_HSA_ERR(err); + std::string fileName = std::string("./") + agent_name + "/" + bs->kernel_file_name; + hsa_file_t file_handle = open(fileName.c_str(), O_RDONLY); + } + if (file_handle == -1) { std::cout << "failed to open " << bs->kernel_file_name.c_str() << " at line " << __LINE__ << ", errno: " << errno << std::endl;