From 4040915f15ed76191b18b5adee6da13f5418bb8b Mon Sep 17 00:00:00 2001 From: Gavin Zhao Date: Thu, 11 Jan 2024 17:09:29 +0100 Subject: [PATCH] rocfft: update to 1.0.25 --- packages/r/rocfft/abi_symbols | 9 +- packages/r/rocfft/abi_used_libs | 4 +- packages/r/rocfft/abi_used_symbols | 139 ++++++++++++------ .../0001-Extend-HIP-ISA-compatibility.patch | 77 ++++++++++ packages/r/rocfft/package.yml | 54 +++---- packages/r/rocfft/pspec_x86_64.xml | 20 +-- 6 files changed, 211 insertions(+), 92 deletions(-) create mode 100644 packages/r/rocfft/files/0001-Extend-HIP-ISA-compatibility.patch diff --git a/packages/r/rocfft/abi_symbols b/packages/r/rocfft/abi_symbols index 5f7f175fa24..707b79e79a6 100644 --- a/packages/r/rocfft/abi_symbols +++ b/packages/r/rocfft/abi_symbols @@ -1,5 +1,5 @@ -librocfft.so.0:_ZN13function_poolC1Ev -librocfft.so.0:_ZN13function_poolC2Ev +librocfft.so.0:rocfft_brick_create +librocfft.so.0:rocfft_brick_destroy librocfft.so.0:rocfft_cache_buffer_free librocfft.so.0:rocfft_cache_deserialize librocfft.so.0:rocfft_cache_serialize @@ -11,8 +11,13 @@ librocfft.so.0:rocfft_execution_info_set_load_callback librocfft.so.0:rocfft_execution_info_set_store_callback librocfft.so.0:rocfft_execution_info_set_stream librocfft.so.0:rocfft_execution_info_set_work_buffer +librocfft.so.0:rocfft_field_add_brick +librocfft.so.0:rocfft_field_create +librocfft.so.0:rocfft_field_destroy librocfft.so.0:rocfft_get_version_string librocfft.so.0:rocfft_plan_create +librocfft.so.0:rocfft_plan_description_add_infield +librocfft.so.0:rocfft_plan_description_add_outfield librocfft.so.0:rocfft_plan_description_create librocfft.so.0:rocfft_plan_description_destroy librocfft.so.0:rocfft_plan_description_set_data_layout diff --git a/packages/r/rocfft/abi_used_libs b/packages/r/rocfft/abi_used_libs index cf9b34143d9..7e40bd18e93 100644 --- a/packages/r/rocfft/abi_used_libs +++ b/packages/r/rocfft/abi_used_libs @@ -1,8 +1,8 @@ ld-linux-x86-64.so.2 -libamdhip64.so.5 +libamdhip64.so.6 libc.so.6 libgcc_s.so.1 -libhiprtc.so.5 +libhiprtc.so.6 libm.so.6 libsqlite3.so.0 libstdc++.so.6 diff --git a/packages/r/rocfft/abi_used_symbols b/packages/r/rocfft/abi_used_symbols index 366ea17d376..e3d13740221 100644 --- a/packages/r/rocfft/abi_used_symbols +++ b/packages/r/rocfft/abi_used_symbols @@ -1,63 +1,69 @@ ld-linux-x86-64.so.2:__tls_get_addr -libamdhip64.so.5:__hipPopCallConfiguration -libamdhip64.so.5:__hipPushCallConfiguration -libamdhip64.so.5:__hipRegisterFatBinary -libamdhip64.so.5:__hipRegisterFunction -libamdhip64.so.5:__hipRegisterVar -libamdhip64.so.5:__hipUnregisterFatBinary -libamdhip64.so.5:hipDeviceGetAttribute -libamdhip64.so.5:hipDeviceSynchronize -libamdhip64.so.5:hipEventCreate -libamdhip64.so.5:hipEventDestroy -libamdhip64.so.5:hipEventElapsedTime -libamdhip64.so.5:hipEventRecord -libamdhip64.so.5:hipEventSynchronize -libamdhip64.so.5:hipFree -libamdhip64.so.5:hipGetDevice -libamdhip64.so.5:hipGetDeviceProperties -libamdhip64.so.5:hipGetErrorName -libamdhip64.so.5:hipGetErrorString -libamdhip64.so.5:hipLaunchKernel -libamdhip64.so.5:hipMalloc -libamdhip64.so.5:hipMallocManaged -libamdhip64.so.5:hipMemcpy -libamdhip64.so.5:hipMemcpyFromSymbol -libamdhip64.so.5:hipModuleGetFunction -libamdhip64.so.5:hipModuleLaunchKernel -libamdhip64.so.5:hipModuleLoadData -libamdhip64.so.5:hipModuleOccupancyMaxActiveBlocksPerMultiprocessor -libamdhip64.so.5:hipModuleUnload -libamdhip64.so.5:hipPeekAtLastError -libamdhip64.so.5:hipSetDevice -libamdhip64.so.5:hipStreamCreate -libamdhip64.so.5:hipStreamDestroy -libamdhip64.so.5:hipStreamSynchronize -libamdhip64.so.5:hiprtcCompileProgram -libamdhip64.so.5:hiprtcCreateProgram -libamdhip64.so.5:hiprtcDestroyProgram -libamdhip64.so.5:hiprtcGetCode -libamdhip64.so.5:hiprtcGetCodeSize -libamdhip64.so.5:hiprtcGetProgramLog -libamdhip64.so.5:hiprtcGetProgramLogSize +libamdhip64.so.6:__gnu_f2h_ieee +libamdhip64.so.6:__gnu_h2f_ieee +libamdhip64.so.6:__hipRegisterFatBinary +libamdhip64.so.6:__hipRegisterVar +libamdhip64.so.6:__hipUnregisterFatBinary +libamdhip64.so.6:hipDeviceCanAccessPeer +libamdhip64.so.6:hipDeviceGetAttribute +libamdhip64.so.6:hipDeviceSynchronize +libamdhip64.so.6:hipEventCreate +libamdhip64.so.6:hipEventDestroy +libamdhip64.so.6:hipEventElapsedTime +libamdhip64.so.6:hipEventRecord +libamdhip64.so.6:hipEventSynchronize +libamdhip64.so.6:hipFree +libamdhip64.so.6:hipGetDevice +libamdhip64.so.6:hipGetDevicePropertiesR0600 +libamdhip64.so.6:hipGetErrorName +libamdhip64.so.6:hipGetErrorString +libamdhip64.so.6:hipMalloc +libamdhip64.so.6:hipMallocManaged +libamdhip64.so.6:hipMemcpy +libamdhip64.so.6:hipMemcpyAsync +libamdhip64.so.6:hipMemcpyFromSymbol +libamdhip64.so.6:hipMemcpyPeerAsync +libamdhip64.so.6:hipModuleGetFunction +libamdhip64.so.6:hipModuleLaunchKernel +libamdhip64.so.6:hipModuleLoadData +libamdhip64.so.6:hipModuleOccupancyMaxActiveBlocksPerMultiprocessor +libamdhip64.so.6:hipModuleUnload +libamdhip64.so.6:hipPeekAtLastError +libamdhip64.so.6:hipSetDevice +libamdhip64.so.6:hipStreamCreate +libamdhip64.so.6:hipStreamDestroy +libamdhip64.so.6:hipStreamSynchronize +libamdhip64.so.6:hiprtcCompileProgram +libamdhip64.so.6:hiprtcCreateProgram +libamdhip64.so.6:hiprtcDestroyProgram +libamdhip64.so.6:hiprtcGetCode +libamdhip64.so.6:hiprtcGetCodeSize +libamdhip64.so.6:hiprtcGetProgramLog +libamdhip64.so.6:hiprtcGetProgramLogSize libc.so.6:__cxa_atexit +libc.so.6:__errno_location libc.so.6:__isoc23_strtol +libc.so.6:__isoc23_strtoull libc.so.6:__libc_single_threaded libc.so.6:__libc_start_main -libc.so.6:__stack_chk_fail libc.so.6:abort libc.so.6:alarm +libc.so.6:aligned_alloc libc.so.6:clearerr libc.so.6:close libc.so.6:dladdr1 +libc.so.6:environ libc.so.6:exit libc.so.6:fclose libc.so.6:fcntl libc.so.6:fdopen libc.so.6:ferror libc.so.6:fflush +libc.so.6:free libc.so.6:fstat libc.so.6:fwrite libc.so.6:getenv +libc.so.6:madvise libc.so.6:memcmp libc.so.6:memcpy libc.so.6:memmove @@ -80,6 +86,7 @@ libc.so.6:sigemptyset libc.so.6:signal libc.so.6:sigprocmask libc.so.6:snprintf +libc.so.6:strchr libc.so.6:strcmp libc.so.6:strlen libc.so.6:strtod @@ -87,8 +94,7 @@ libc.so.6:vsnprintf libc.so.6:waitpid libc.so.6:write libgcc_s.so.1:_Unwind_Resume -libhiprtc.so.5:hiprtcGetCode -libhiprtc.so.5:hiprtcGetProgramLogSize +libhiprtc.so.6:hiprtcGetCode libm.so.6:ceil libm.so.6:exp2 libm.so.6:floor @@ -114,32 +120,48 @@ libsqlite3.so.0:sqlite3_serialize libsqlite3.so.0:sqlite3_step libstdc++.so.6:_ZNKSt10filesystem7__cxx114path11parent_pathEv libstdc++.so.6:_ZNKSt10filesystem7__cxx114path5_List13_Impl_deleterclEPNS2_5_ImplE +libstdc++.so.6:_ZNKSt12__basic_fileIcE7is_openEv libstdc++.so.6:_ZNKSt5ctypeIcE13_M_widen_initEv +libstdc++.so.6:_ZNKSt6locale2id5_M_idEv libstdc++.so.6:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcmm libstdc++.so.6:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm libstdc++.so.6:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEPKcmm libstdc++.so.6:_ZNKSt8__detail20_Prime_rehash_policy11_M_next_bktEm libstdc++.so.6:_ZNKSt8__detail20_Prime_rehash_policy14_M_need_rehashEmmm +libstdc++.so.6:_ZNSi10_M_extractIlEERSiRT_ libstdc++.so.6:_ZNSo3putEc libstdc++.so.6:_ZNSo5flushEv libstdc++.so.6:_ZNSo5writeEPKcl libstdc++.so.6:_ZNSo9_M_insertIPKvEERSoT_ +libstdc++.so.6:_ZNSo9_M_insertIdEERSoT_ libstdc++.so.6:_ZNSo9_M_insertImEERSoT_ libstdc++.so.6:_ZNSolsEi +libstdc++.so.6:_ZNSt10filesystem12current_pathB5cxx11Ev libstdc++.so.6:_ZNSt10filesystem6removeERKNS_7__cxx114pathE libstdc++.so.6:_ZNSt10filesystem6statusERKNS_7__cxx114pathE libstdc++.so.6:_ZNSt10filesystem7__cxx114path14_M_split_cmptsEv libstdc++.so.6:_ZNSt10filesystem7__cxx114path5_ListC1ERKS2_ libstdc++.so.6:_ZNSt10filesystem7__cxx114path5_ListC1Ev +libstdc++.so.6:_ZNSt10filesystem7__cxx114path9_M_appendESt17basic_string_viewIcSt11char_traitsIcEE +libstdc++.so.6:_ZNSt10filesystem7__cxx114path9_M_concatESt17basic_string_viewIcSt11char_traitsIcEE libstdc++.so.6:_ZNSt10filesystem7__cxx114pathdVERKS1_ libstdc++.so.6:_ZNSt11logic_errorC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE libstdc++.so.6:_ZNSt11logic_errorC2ERKS_ +libstdc++.so.6:_ZNSt11regex_errorD1Ev libstdc++.so.6:_ZNSt12future_errorD1Ev libstdc++.so.6:_ZNSt13__future_base12_Result_baseC2Ev libstdc++.so.6:_ZNSt13__future_base12_Result_baseD2Ev +libstdc++.so.6:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode +libstdc++.so.6:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv libstdc++.so.6:_ZNSt13runtime_errorC1EPKc libstdc++.so.6:_ZNSt13runtime_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE +libstdc++.so.6:_ZNSt13runtime_errorC2EPKc libstdc++.so.6:_ZNSt13runtime_errorD1Ev +libstdc++.so.6:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode +libstdc++.so.6:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED2Ev +libstdc++.so.6:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode +libstdc++.so.6:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1Ev +libstdc++.so.6:_ZNSt14basic_ofstreamIcSt11char_traitsIcEED1Ev libstdc++.so.6:_ZNSt15__exception_ptr13exception_ptr10_M_releaseEv libstdc++.so.6:_ZNSt15__exception_ptr13exception_ptr9_M_addrefEv libstdc++.so.6:_ZNSt15__exception_ptr13exception_ptrC1EPv @@ -150,30 +172,42 @@ libstdc++.so.6:_ZNSt18condition_variableD1Ev libstdc++.so.6:_ZNSt28__atomic_futex_unsigned_base19_M_futex_notify_allEPj libstdc++.so.6:_ZNSt28__atomic_futex_unsigned_base19_M_futex_wait_untilEPjjbNSt6chrono8durationIlSt5ratioILl1ELl1EEEENS2_IlS3_ILl1ELl1000000000EEEE libstdc++.so.6:_ZNSt3_V216generic_categoryEv +libstdc++.so.6:_ZNSt5ctypeIcE2idE libstdc++.so.6:_ZNSt6chrono3_V212steady_clock3nowEv +libstdc++.so.6:_ZNSt6localeC1ERKS_ +libstdc++.so.6:_ZNSt6localeC1Ev libstdc++.so.6:_ZNSt6localeD1Ev +libstdc++.so.6:_ZNSt6localeaSERKS_ libstdc++.so.6:_ZNSt6thread15_M_start_threadESt10unique_ptrINS_6_StateESt14default_deleteIS1_EEPFvvE libstdc++.so.6:_ZNSt6thread4joinEv libstdc++.so.6:_ZNSt6thread6_StateD2Ev libstdc++.so.6:_ZNSt6thread6detachEv libstdc++.so.6:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceEmmPKcm libstdc++.so.6:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructEmc +libstdc++.so.6:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE14_M_replace_auxEmmmc +libstdc++.so.6:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6resizeEmc libstdc++.so.6:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7reserveEm +libstdc++.so.6:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8_M_eraseEmm libstdc++.so.6:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKcm libstdc++.so.6:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_ libstdc++.so.6:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm libstdc++.so.6:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm libstdc++.so.6:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2EPKcmRKS3_ libstdc++.so.6:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev +libstdc++.so.6:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_ libstdc++.so.6:_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm libstdc++.so.6:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev libstdc++.so.6:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev +libstdc++.so.6:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode +libstdc++.so.6:_ZNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEED1Ev libstdc++.so.6:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev libstdc++.so.6:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev -libstdc++.so.6:_ZNSt8bad_castD2Ev +libstdc++.so.6:_ZNSt7__cxx117collateIcE2idE +libstdc++.so.6:_ZNSt8__detail15_List_node_base7_M_hookEPS0_ libstdc++.so.6:_ZNSt8ios_baseD2Ev libstdc++.so.6:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate libstdc++.so.6:_ZNSt9exceptionD2Ev +libstdc++.so.6:_ZSt11_Hash_bytesPKvmm libstdc++.so.6:_ZSt11__once_call libstdc++.so.6:_ZSt15__once_callable libstdc++.so.6:_ZSt15future_categoryv @@ -186,11 +220,13 @@ libstdc++.so.6:_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base libstdc++.so.6:_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base libstdc++.so.6:_ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base libstdc++.so.6:_ZSt19__throw_logic_errorPKc +libstdc++.so.6:_ZSt19__throw_regex_errorNSt15regex_constants10error_typeE libstdc++.so.6:_ZSt20__throw_future_errori libstdc++.so.6:_ZSt20__throw_length_errorPKc libstdc++.so.6:_ZSt20__throw_out_of_rangePKc libstdc++.so.6:_ZSt20__throw_system_errori libstdc++.so.6:_ZSt21ios_base_library_initv +libstdc++.so.6:_ZSt24__throw_invalid_argumentPKc libstdc++.so.6:_ZSt24__throw_out_of_range_fmtPKcz libstdc++.so.6:_ZSt25__throw_bad_function_callv libstdc++.so.6:_ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_ @@ -201,29 +237,35 @@ libstdc++.so.6:_ZSt4cerr libstdc++.so.6:_ZSt4cout libstdc++.so.6:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_ libstdc++.so.6:_ZSt5flushIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_ +libstdc++.so.6:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4_ libstdc++.so.6:_ZSt9terminatev libstdc++.so.6:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc -libstdc++.so.6:_ZStlsIdcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E -libstdc++.so.6:_ZStlsIfcSt11char_traitsIcEERSt13basic_ostreamIT0_T1_ES6_RKSt7complexIT_E libstdc++.so.6:_ZStrsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_RS3_ libstdc++.so.6:_ZTIN10__cxxabiv115__forced_unwindE libstdc++.so.6:_ZTINSt13__future_base12_Result_baseE +libstdc++.so.6:_ZTINSt6locale5facetE libstdc++.so.6:_ZTINSt6thread6_StateE +libstdc++.so.6:_ZTISt11regex_error libstdc++.so.6:_ZTISt12future_error libstdc++.so.6:_ZTISt12system_error libstdc++.so.6:_ZTISt13runtime_error -libstdc++.so.6:_ZTISt8bad_cast +libstdc++.so.6:_ZTISt5ctypeIcE libstdc++.so.6:_ZTISt9exception -libstdc++.so.6:_ZTIv libstdc++.so.6:_ZTTNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE +libstdc++.so.6:_ZTTNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE libstdc++.so.6:_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE +libstdc++.so.6:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE +libstdc++.so.6:_ZTVN10__cxxabiv116__enum_type_infoE libstdc++.so.6:_ZTVN10__cxxabiv117__class_type_infoE libstdc++.so.6:_ZTVN10__cxxabiv120__si_class_type_infoE libstdc++.so.6:_ZTVN10__cxxabiv121__vmi_class_type_infoE libstdc++.so.6:_ZTVNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE +libstdc++.so.6:_ZTVSt11regex_error libstdc++.so.6:_ZTVSt12future_error libstdc++.so.6:_ZTVSt15basic_streambufIcSt11char_traitsIcEE +libstdc++.so.6:_ZdaPv libstdc++.so.6:_ZdlPv +libstdc++.so.6:_Znam libstdc++.so.6:_Znwm libstdc++.so.6:__cxa_allocate_exception libstdc++.so.6:__cxa_begin_catch @@ -237,5 +279,6 @@ libstdc++.so.6:__cxa_pure_virtual libstdc++.so.6:__cxa_rethrow libstdc++.so.6:__cxa_thread_atexit libstdc++.so.6:__cxa_throw +libstdc++.so.6:__dynamic_cast libstdc++.so.6:__gxx_personality_v0 libstdc++.so.6:__once_proxy diff --git a/packages/r/rocfft/files/0001-Extend-HIP-ISA-compatibility.patch b/packages/r/rocfft/files/0001-Extend-HIP-ISA-compatibility.patch new file mode 100644 index 00000000000..d5b9e9336f8 --- /dev/null +++ b/packages/r/rocfft/files/0001-Extend-HIP-ISA-compatibility.patch @@ -0,0 +1,77 @@ +From 29146d4505403226ec238b235df1ddab7e603746 Mon Sep 17 00:00:00 2001 +From: Gavin Zhao +Date: Sun, 18 Feb 2024 16:11:08 -0500 +Subject: [PATCH] Extend HIP ISA compatibility + +Signed-off-by: Gavin Zhao +--- + library/src/include/tree_node.h | 36 +++++++++++++++++++++++++-------- + 1 file changed, 28 insertions(+), 8 deletions(-) + +diff --git a/library/src/include/tree_node.h b/library/src/include/tree_node.h +index 5255915..23e4fea 100644 +--- a/library/src/include/tree_node.h ++++ b/library/src/include/tree_node.h +@@ -81,6 +81,33 @@ struct GridParam + } + }; + ++static bool is_device_gcn_arch(const hipDeviceProp_t& prop, const std::string& cmpTarget) ++{ ++ std::string archName(prop.gcnArchName); ++ ++ if (cmpTarget == "gfx1030" && archName.find("gfx103") != std::string::npos) ++ { ++ return true; ++ } ++ else if (cmpTarget == "gfx1010" && archName.find("gfx101") != std::string::npos) ++ { ++ return true; ++ } ++ else if (cmpTarget == "gfx900") ++ { ++ auto pos = archName.find("gfx90"); ++ const auto cmpIdx = cmpTarget.size() - 1; ++ if (pos != std::string::npos && pos + cmpIdx < archName.size()) ++ { ++ return archName.at(pos + cmpIdx) == '0' || archName.at(pos + cmpIdx) == '2' || archName.at(pos + cmpIdx) == '9' || archName.at(pos + cmpIdx) == 'c'; ++ } ++ } ++ else ++ { ++ return archName.find(cmpTarget) != std::string::npos; ++ } ++} ++ + // get the arch name, as a part of key of solution map + static std::string get_arch_name(const hipDeviceProp_t& prop) + { +@@ -98,11 +125,10 @@ static std::string get_arch_name(const hipDeviceProp_t& prop) + "gfx1102"}; + + static const std::string anyArch("any"); +- std::string archName(prop.gcnArchName); + + for(const auto& arch : arch_list) + { +- if(archName.find(arch) != std::string::npos) ++ if(is_device_gcn_arch(prop, arch)) + return arch; + } + +@@ -110,12 +136,6 @@ static std::string get_arch_name(const hipDeviceProp_t& prop) + return anyArch; + } + +-static bool is_device_gcn_arch(const hipDeviceProp_t& prop, const std::string& cmpTarget) +-{ +- std::string archName(prop.gcnArchName); +- return archName.find(cmpTarget) != std::string::npos; +-} +- + static bool is_diagonal_sbrc_3D_length(size_t len) + { + // SBRC diagonal-transpose dimensions are currently 128, 256 +-- +2.43.0 + diff --git a/packages/r/rocfft/package.yml b/packages/r/rocfft/package.yml index 9311d202872..9de2d89415c 100644 --- a/packages/r/rocfft/package.yml +++ b/packages/r/rocfft/package.yml @@ -1,51 +1,45 @@ name : rocfft -version : 5.5.1 -release : 4 +version : 1.0.25 +release : 5 source : - - https://github.com/ROCmSoftwarePlatform/rocFFT/archive/refs/tags/rocm-5.5.1.tar.gz : 57423a64f5cdb1c37ff0891b6c17b59f73198d46be42db4ae23781ef2c0cd49d + - https://github.com/ROCm/rocFFT/archive/refs/tags/rocm-6.0.0.tar.gz : fb8ba56572702e77e4383d922cd1fee4ad3fa5f63a5ebdb3d9c354439a446992 homepage : https://github.com/ROCmSoftwarePlatform/rocFFT license : MIT component : programming.library summary : Next generation FFT implementation for ROCm description: | rocFFT is a software library for computing Fast Fourier Transforms (FFT) written in HIP. It is part of AMD's software ecosystem based on ROCm. -clang : yes builddeps : - pkgconfig(python3) - pkgconfig(sqlite3) - libboost-devel - rocm-cmake - - rocm-hip-devel + - rocm-hip environment: | - declare -A rocm_vars - rocm_vars=( - ["HIP_DEVICE_LIB_PATH"]="/usr/lib64/amdgcn/bitcode" - ["DEVICE_LIB_PATH"]="/usr/lib64/amdgcn/bitcode" - ["HIP_CLANG_PATH"]="/usr/bin" - ["HIP_COMPILER"]="clang" - ["HIP_LIB_PATH"]="/usr/lib64" - ["HIP_PATH"]="/usr" - ["HIP_PLATFORM"]="amd" - ["HIP_ROCCLR_HOME"]="/usr" - ["ROCM_PATH"]="/usr" - ["BUILD_FILE_REORG_BACKWARD_COMPATIBILITY"]="OFF" - ["HIPCC_VERBOSE"]="0" - # ["AMDGPU_TARGETS"]="gfx1030" - # ["HCC_AMDGPU_TARGETS"]="gfx1030" - ) + export CXXFLAGS="${CXXFLAGS/-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=32/-fcf-protection=none}" - for name in "${!rocm_vars[@]}"; do - export "$name"="${rocm_vars[$name]}"; - export ROCM_CMAKE_FLAGS="$ROCM_CMAKE_FLAGS -D$name=${rocm_vars[$name]}"; - done + export ROCM_PATH=/usr + export HIP_CLANG_PATH=/usr/lib64/llvm-rocm/bin + export DEVICE_LIB_PATH=/usr/lib64/amdgcn/bitcode - export CXXFLAGS="${CXXFLAGS/-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=32/-fcf-protection=none}" + # Too noisy + export CFLAGS+=" -w" + export CXXFLAGS+=" -w" + + # Occasioanlly gives the following message: + # ibfakeroot, when sending message: Invalid argument + unset LD_PRELOAD setup : | - %cmake_ninja $ROCM_CMAKE_FLAGS \ - -DSQLITE_USE_SYSTEM_PACKAGE=ON + %patch -p1 -i $pkgfiles/0001-Extend-HIP-ISA-compatibility.patch + + %cmake_ninja -L \ + -DCMAKE_C_COMPILER=hipcc \ + -DCMAKE_CXX_COMPILER=hipcc \ + -DCMAKE_INSTALL_LIBDIR=lib%LIBSUFFIX% \ + -DROCM_SYMLINK_LIBS=OFF \ + -DSQLITE_USE_SYSTEM_PACKAGE=ON \ + -DAMDGPU_TARGETS="%AMDGPUTARGETS%" build : | %ninja_build install : | %ninja_install - mv $installdir/usr/lib $installdir/%libdir% - rm -r $installdir/usr/rocfft diff --git a/packages/r/rocfft/pspec_x86_64.xml b/packages/r/rocfft/pspec_x86_64.xml index 7fd6d343efc..e7238109756 100644 --- a/packages/r/rocfft/pspec_x86_64.xml +++ b/packages/r/rocfft/pspec_x86_64.xml @@ -3,8 +3,8 @@ rocfft https://github.com/ROCmSoftwarePlatform/rocFFT - Joey Riches - josephriches@gmail.com + Gavin Zhao + me@gzgz.dev MIT programming.library @@ -20,10 +20,10 @@ programming.library - /usr/bin/rocfft_rtc_helper /usr/lib64/librocfft.so.0 /usr/lib64/librocfft.so.0.1 - /usr/lib64/rocfft_kernel_cache.db + /usr/lib64/rocfft/1.0.23/rocfft_rtc_helper + /usr/lib64/rocfft/rocfft_kernel_cache.db /usr/share/doc/rocfft/LICENSE.md @@ -34,7 +34,7 @@ programming.devel - rocfft + rocfft /usr/include/rocfft/rocfft-export.h @@ -48,12 +48,12 @@ - - 2024-02-16 - 5.5.1 + + 2024-03-02 + 1.0.25 Packaging update - Joey Riches - josephriches@gmail.com + Gavin Zhao + me@gzgz.dev \ No newline at end of file