Index: MAINTAINERS.md =================================================================== --- /dev/null +++ MAINTAINERS.md @@ -0,0 +1,5 @@ +This file is used to indicate responsibility for the maintenance of this package. Individuals on this list should be the sole modifiers of the package, excluding cases where the Solus Team may need to perform necessary rebuilds, upgrades, or security fixes. This list should not be used for any direct contact usage. If you believe this package requires a package update, follow documentation from https://getsol.us/articles/packaging/request-a-package-update/en/. In the event this package no longer becomes sufficiently maintained, Core Team reserves the right to request a new maintainer or remove this package from the repository. + +- Jacek Jagosz + - IRC: JacekJagosz + - Email: jacek.jagosz@outlook.com Index: Makefile =================================================================== --- /dev/null +++ Makefile @@ -0,0 +1 @@ +include ../Makefile.common Index: abi_libs =================================================================== --- /dev/null +++ abi_libs @@ -0,0 +1,2 @@ +libamdocl64.so +libcltrace.so.5.1 Index: abi_symbols =================================================================== --- /dev/null +++ abi_symbols @@ -0,0 +1,121 @@ +libamdocl64.so:clBuildProgram +libamdocl64.so:clCloneKernel +libamdocl64.so:clCompileProgram +libamdocl64.so:clCreateBuffer +libamdocl64.so:clCreateCommandQueue +libamdocl64.so:clCreateCommandQueueWithProperties +libamdocl64.so:clCreateContext +libamdocl64.so:clCreateContextFromType +libamdocl64.so:clCreateFromGLBuffer +libamdocl64.so:clCreateFromGLRenderbuffer +libamdocl64.so:clCreateFromGLTexture +libamdocl64.so:clCreateFromGLTexture2D +libamdocl64.so:clCreateFromGLTexture3D +libamdocl64.so:clCreateImage +libamdocl64.so:clCreateImage2D +libamdocl64.so:clCreateImage3D +libamdocl64.so:clCreateKernel +libamdocl64.so:clCreateKernelsInProgram +libamdocl64.so:clCreatePipe +libamdocl64.so:clCreateProgramWithBinary +libamdocl64.so:clCreateProgramWithBuiltInKernels +libamdocl64.so:clCreateProgramWithIL +libamdocl64.so:clCreateProgramWithSource +libamdocl64.so:clCreateSampler +libamdocl64.so:clCreateSamplerWithProperties +libamdocl64.so:clCreateSubBuffer +libamdocl64.so:clCreateSubDevices +libamdocl64.so:clCreateUserEvent +libamdocl64.so:clEnqueueAcquireGLObjects +libamdocl64.so:clEnqueueBarrier +libamdocl64.so:clEnqueueBarrierWithWaitList +libamdocl64.so:clEnqueueCopyBuffer +libamdocl64.so:clEnqueueCopyBufferRect +libamdocl64.so:clEnqueueCopyBufferToImage +libamdocl64.so:clEnqueueCopyImage +libamdocl64.so:clEnqueueCopyImageToBuffer +libamdocl64.so:clEnqueueFillBuffer +libamdocl64.so:clEnqueueFillImage +libamdocl64.so:clEnqueueMapBuffer +libamdocl64.so:clEnqueueMapImage +libamdocl64.so:clEnqueueMarker +libamdocl64.so:clEnqueueMarkerWithWaitList +libamdocl64.so:clEnqueueMigrateMemObjects +libamdocl64.so:clEnqueueNDRangeKernel +libamdocl64.so:clEnqueueNativeKernel +libamdocl64.so:clEnqueueReadBuffer +libamdocl64.so:clEnqueueReadBufferRect +libamdocl64.so:clEnqueueReadImage +libamdocl64.so:clEnqueueReleaseGLObjects +libamdocl64.so:clEnqueueSVMFree +libamdocl64.so:clEnqueueSVMMap +libamdocl64.so:clEnqueueSVMMemFill +libamdocl64.so:clEnqueueSVMMemcpy +libamdocl64.so:clEnqueueSVMMigrateMem +libamdocl64.so:clEnqueueSVMUnmap +libamdocl64.so:clEnqueueTask +libamdocl64.so:clEnqueueUnmapMemObject +libamdocl64.so:clEnqueueWaitForEvents +libamdocl64.so:clEnqueueWriteBuffer +libamdocl64.so:clEnqueueWriteBufferRect +libamdocl64.so:clEnqueueWriteImage +libamdocl64.so:clFinish +libamdocl64.so:clFlush +libamdocl64.so:clGetCommandQueueInfo +libamdocl64.so:clGetContextInfo +libamdocl64.so:clGetDeviceAndHostTimer +libamdocl64.so:clGetDeviceIDs +libamdocl64.so:clGetDeviceInfo +libamdocl64.so:clGetEventInfo +libamdocl64.so:clGetEventProfilingInfo +libamdocl64.so:clGetExtensionFunctionAddress +libamdocl64.so:clGetExtensionFunctionAddressForPlatform +libamdocl64.so:clGetGLObjectInfo +libamdocl64.so:clGetGLTextureInfo +libamdocl64.so:clGetHostTimer +libamdocl64.so:clGetImageInfo +libamdocl64.so:clGetKernelArgInfo +libamdocl64.so:clGetKernelInfo +libamdocl64.so:clGetKernelSubGroupInfo +libamdocl64.so:clGetKernelWorkGroupInfo +libamdocl64.so:clGetMemObjectInfo +libamdocl64.so:clGetPipeInfo +libamdocl64.so:clGetPlatformIDs +libamdocl64.so:clGetPlatformInfo +libamdocl64.so:clGetProgramBuildInfo +libamdocl64.so:clGetProgramInfo +libamdocl64.so:clGetSamplerInfo +libamdocl64.so:clGetSupportedImageFormats +libamdocl64.so:clIcdGetPlatformIDsKHR +libamdocl64.so:clLinkProgram +libamdocl64.so:clReleaseCommandQueue +libamdocl64.so:clReleaseContext +libamdocl64.so:clReleaseDevice +libamdocl64.so:clReleaseEvent +libamdocl64.so:clReleaseKernel +libamdocl64.so:clReleaseMemObject +libamdocl64.so:clReleaseProgram +libamdocl64.so:clReleaseSampler +libamdocl64.so:clRetainCommandQueue +libamdocl64.so:clRetainContext +libamdocl64.so:clRetainDevice +libamdocl64.so:clRetainEvent +libamdocl64.so:clRetainKernel +libamdocl64.so:clRetainMemObject +libamdocl64.so:clRetainProgram +libamdocl64.so:clRetainSampler +libamdocl64.so:clSVMAlloc +libamdocl64.so:clSVMFree +libamdocl64.so:clSetCommandQueueProperty +libamdocl64.so:clSetDefaultDeviceCommandQueue +libamdocl64.so:clSetEventCallback +libamdocl64.so:clSetKernelArg +libamdocl64.so:clSetKernelArgSVMPointer +libamdocl64.so:clSetKernelExecInfo +libamdocl64.so:clSetMemObjectDestructorCallback +libamdocl64.so:clSetUserEventStatus +libamdocl64.so:clUnloadCompiler +libamdocl64.so:clUnloadPlatformCompiler +libamdocl64.so:clWaitForEvents +libcltrace.so.5.1:vdiAgent_OnLoad +libcltrace.so.5.1:vdiAgent_OnUnload Index: abi_used_libs =================================================================== --- /dev/null +++ abi_used_libs @@ -0,0 +1,8 @@ +ld-linux-x86-64.so.2 +libOpenCL.so.1 +libc.so.6 +libgcc_s.so.1 +libhsa-runtime64.so.1 +libm.so.6 +libnuma.so.1 +libstdc++.so.6 Index: abi_used_symbols =================================================================== --- /dev/null +++ abi_used_symbols @@ -0,0 +1,372 @@ +ld-linux-x86-64.so.2:__tls_get_addr +libOpenCL.so.1:clBuildProgram +libOpenCL.so.1:clCreateContext +libOpenCL.so.1:clCreateKernel +libOpenCL.so.1:clCreateProgramWithSource +libOpenCL.so.1:clGetDeviceIDs +libOpenCL.so.1:clGetDeviceInfo +libOpenCL.so.1:clGetKernelWorkGroupInfo +libOpenCL.so.1:clGetPlatformIDs +libOpenCL.so.1:clGetPlatformInfo +libOpenCL.so.1:clGetProgramBuildInfo +libOpenCL.so.1:clGetProgramInfo +libOpenCL.so.1:clGetSupportedImageFormats +libOpenCL.so.1:clReleaseCommandQueue +libOpenCL.so.1:clReleaseContext +libOpenCL.so.1:clReleaseDevice +libOpenCL.so.1:clReleaseKernel +libOpenCL.so.1:clReleaseProgram +libOpenCL.so.1:clRetainDevice +libc.so.6:__cxa_atexit +libc.so.6:__errno_location +libc.so.6:__isoc99_sscanf +libc.so.6:__libc_single_threaded +libc.so.6:__libc_start_main +libc.so.6:__stack_chk_fail +libc.so.6:__vfprintf_chk +libc.so.6:__vsnprintf_chk +libc.so.6:__wmemcpy_chk +libc.so.6:_exit +libc.so.6:abort +libc.so.6:basename +libc.so.6:calloc +libc.so.6:clock_getres +libc.so.6:clock_gettime +libc.so.6:close +libc.so.6:dlclose +libc.so.6:dlopen +libc.so.6:dlsym +libc.so.6:dup2 +libc.so.6:environ +libc.so.6:execvp +libc.so.6:fclose +libc.so.6:fflush +libc.so.6:fopen +libc.so.6:fprintf +libc.so.6:free +libc.so.6:fstat +libc.so.6:ftruncate +libc.so.6:getenv +libc.so.6:getpid +libc.so.6:gettimeofday +libc.so.6:isspace +libc.so.6:malloc +libc.so.6:mbstowcs +libc.so.6:memcmp +libc.so.6:memcpy +libc.so.6:memmove +libc.so.6:memset +libc.so.6:mkdir +libc.so.6:mmap +libc.so.6:mprotect +libc.so.6:munmap +libc.so.6:nanosleep +libc.so.6:open +libc.so.6:pathconf +libc.so.6:posix_memalign +libc.so.6:prctl +libc.so.6:pthread_attr_destroy +libc.so.6:pthread_attr_getguardsize +libc.so.6:pthread_attr_getstack +libc.so.6:pthread_attr_init +libc.so.6:pthread_attr_setaffinity_np +libc.so.6:pthread_attr_setdetachstate +libc.so.6:pthread_attr_setstacksize +libc.so.6:pthread_create +libc.so.6:pthread_getaffinity_np +libc.so.6:pthread_getattr_np +libc.so.6:pthread_join +libc.so.6:pthread_kill +libc.so.6:pthread_mutex_lock +libc.so.6:pthread_mutex_unlock +libc.so.6:pthread_once +libc.so.6:pthread_self +libc.so.6:pthread_setaffinity_np +libc.so.6:pthread_sigmask +libc.so.6:puts +libc.so.6:readlink +libc.so.6:remove +libc.so.6:rmdir +libc.so.6:sched_yield +libc.so.6:sem_destroy +libc.so.6:sem_init +libc.so.6:sem_post +libc.so.6:sem_timedwait +libc.so.6:sem_wait +libc.so.6:shm_open +libc.so.6:sigaction +libc.so.6:sigaddset +libc.so.6:sigemptyset +libc.so.6:sigfillset +libc.so.6:sprintf +libc.so.6:stat +libc.so.6:stderr +libc.so.6:stdout +libc.so.6:strchr +libc.so.6:strcmp +libc.so.6:strlen +libc.so.6:strncmp +libc.so.6:strncpy +libc.so.6:strndup +libc.so.6:strstr +libc.so.6:strtol +libc.so.6:strtoul +libc.so.6:sysconf +libc.so.6:sysinfo +libc.so.6:unlink +libc.so.6:usleep +libc.so.6:vfork +libc.so.6:waitpid +libc.so.6:wcslen +libgcc_s.so.1:_Unwind_Resume +libhsa-runtime64.so.1:hsa_agent_extension_supported +libhsa-runtime64.so.1:hsa_agent_get_info +libhsa-runtime64.so.1:hsa_agent_iterate_isas +libhsa-runtime64.so.1:hsa_amd_agent_iterate_memory_pools +libhsa-runtime64.so.1:hsa_amd_agent_memory_pool_get_info +libhsa-runtime64.so.1:hsa_amd_agents_allow_access +libhsa-runtime64.so.1:hsa_amd_coherency_set_type +libhsa-runtime64.so.1:hsa_amd_image_create +libhsa-runtime64.so.1:hsa_amd_interop_map_buffer +libhsa-runtime64.so.1:hsa_amd_interop_unmap_buffer +libhsa-runtime64.so.1:hsa_amd_ipc_memory_attach +libhsa-runtime64.so.1:hsa_amd_ipc_memory_create +libhsa-runtime64.so.1:hsa_amd_ipc_memory_detach +libhsa-runtime64.so.1:hsa_amd_memory_async_copy +libhsa-runtime64.so.1:hsa_amd_memory_async_copy_rect +libhsa-runtime64.so.1:hsa_amd_memory_lock_to_pool +libhsa-runtime64.so.1:hsa_amd_memory_pool_allocate +libhsa-runtime64.so.1:hsa_amd_memory_pool_free +libhsa-runtime64.so.1:hsa_amd_memory_pool_get_info +libhsa-runtime64.so.1:hsa_amd_memory_unlock +libhsa-runtime64.so.1:hsa_amd_pointer_info +libhsa-runtime64.so.1:hsa_amd_profiling_async_copy_enable +libhsa-runtime64.so.1:hsa_amd_profiling_get_async_copy_time +libhsa-runtime64.so.1:hsa_amd_profiling_get_dispatch_time +libhsa-runtime64.so.1:hsa_amd_profiling_set_profiler_enabled +libhsa-runtime64.so.1:hsa_amd_queue_cu_set_mask +libhsa-runtime64.so.1:hsa_amd_queue_set_priority +libhsa-runtime64.so.1:hsa_amd_signal_async_handler +libhsa-runtime64.so.1:hsa_amd_signal_create +libhsa-runtime64.so.1:hsa_amd_signal_value_pointer +libhsa-runtime64.so.1:hsa_amd_svm_attributes_get +libhsa-runtime64.so.1:hsa_amd_svm_attributes_set +libhsa-runtime64.so.1:hsa_amd_svm_prefetch_async +libhsa-runtime64.so.1:hsa_code_object_reader_create_from_memory +libhsa-runtime64.so.1:hsa_code_object_reader_destroy +libhsa-runtime64.so.1:hsa_executable_agent_global_variable_define +libhsa-runtime64.so.1:hsa_executable_create_alt +libhsa-runtime64.so.1:hsa_executable_destroy +libhsa-runtime64.so.1:hsa_executable_freeze +libhsa-runtime64.so.1:hsa_executable_get_symbol_by_name +libhsa-runtime64.so.1:hsa_executable_load_agent_code_object +libhsa-runtime64.so.1:hsa_executable_symbol_get_info +libhsa-runtime64.so.1:hsa_ext_image_create +libhsa-runtime64.so.1:hsa_ext_image_create_with_layout +libhsa-runtime64.so.1:hsa_ext_image_data_get_info +libhsa-runtime64.so.1:hsa_ext_image_destroy +libhsa-runtime64.so.1:hsa_ext_image_export +libhsa-runtime64.so.1:hsa_ext_image_import +libhsa-runtime64.so.1:hsa_ext_sampler_create +libhsa-runtime64.so.1:hsa_ext_sampler_destroy +libhsa-runtime64.so.1:hsa_init +libhsa-runtime64.so.1:hsa_isa_get_info_alt +libhsa-runtime64.so.1:hsa_iterate_agents +libhsa-runtime64.so.1:hsa_memory_copy +libhsa-runtime64.so.1:hsa_memory_deregister +libhsa-runtime64.so.1:hsa_memory_register +libhsa-runtime64.so.1:hsa_queue_add_write_index_screlease +libhsa-runtime64.so.1:hsa_queue_create +libhsa-runtime64.so.1:hsa_queue_destroy +libhsa-runtime64.so.1:hsa_queue_load_read_index_relaxed +libhsa-runtime64.so.1:hsa_queue_load_read_index_scacquire +libhsa-runtime64.so.1:hsa_queue_load_write_index_relaxed +libhsa-runtime64.so.1:hsa_shut_down +libhsa-runtime64.so.1:hsa_signal_add_relaxed +libhsa-runtime64.so.1:hsa_signal_create +libhsa-runtime64.so.1:hsa_signal_destroy +libhsa-runtime64.so.1:hsa_signal_load_relaxed +libhsa-runtime64.so.1:hsa_signal_silent_store_relaxed +libhsa-runtime64.so.1:hsa_signal_store_relaxed +libhsa-runtime64.so.1:hsa_signal_store_screlease +libhsa-runtime64.so.1:hsa_signal_subtract_relaxed +libhsa-runtime64.so.1:hsa_signal_wait_scacquire +libhsa-runtime64.so.1:hsa_status_string +libhsa-runtime64.so.1:hsa_system_extension_supported +libhsa-runtime64.so.1:hsa_system_get_info +libhsa-runtime64.so.1:hsa_system_get_major_extension_table +libm.so.6:pow +libnuma.so.1:get_mempolicy +libnuma.so.1:numa_bitmask_alloc +libnuma.so.1:numa_bitmask_free +libnuma.so.1:numa_node_to_cpus +libnuma.so.1:numa_num_configured_cpus +libnuma.so.1:numa_sched_setaffinity +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_traitsIcESaIcEE12find_last_ofEPKcmm +libstdc++.so.6:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE13find_first_ofEPKcmm +libstdc++.so.6:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEPKcmm +libstdc++.so.6:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE17find_first_not_ofEcm +libstdc++.so.6:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4copyEPcmm +libstdc++.so.6:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEPKcmm +libstdc++.so.6:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm +libstdc++.so.6:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEPKcmm +libstdc++.so.6:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEcm +libstdc++.so.6:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm +libstdc++.so.6:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc +libstdc++.so.6:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmPKc +libstdc++.so.6:_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEmmRKS4_ +libstdc++.so.6:_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv +libstdc++.so.6:_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv +libstdc++.so.6:_ZNKSt8__detail20_Prime_rehash_policy14_M_need_rehashEmmm +libstdc++.so.6:_ZNSi10_M_extractIlEERSiRT_ +libstdc++.so.6:_ZNSi10_M_extractImEERSiRT_ +libstdc++.so.6:_ZNSi4peekEv +libstdc++.so.6:_ZNSi4readEPcl +libstdc++.so.6:_ZNSi5seekgESt4fposI11__mbstate_tE +libstdc++.so.6:_ZNSi5seekgElSt12_Ios_Seekdir +libstdc++.so.6:_ZNSi5tellgEv +libstdc++.so.6:_ZNSo3putEc +libstdc++.so.6:_ZNSo5flushEv +libstdc++.so.6:_ZNSo5seekpESt4fposI11__mbstate_tE +libstdc++.so.6:_ZNSo5writeEPKcl +libstdc++.so.6:_ZNSo9_M_insertIPKvEERSoT_ +libstdc++.so.6:_ZNSo9_M_insertIbEERSoT_ +libstdc++.so.6:_ZNSo9_M_insertIdEERSoT_ +libstdc++.so.6:_ZNSo9_M_insertIlEERSoT_ +libstdc++.so.6:_ZNSo9_M_insertImEERSoT_ +libstdc++.so.6:_ZNSo9_M_insertIxEERSoT_ +libstdc++.so.6:_ZNSo9_M_insertIyEERSoT_ +libstdc++.so.6:_ZNSolsEi +libstdc++.so.6:_ZNSolsEs +libstdc++.so.6:_ZNSt11regex_errorD1Ev +libstdc++.so.6:_ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode +libstdc++.so.6:_ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv +libstdc++.so.6:_ZNSt13basic_filebufIcSt11char_traitsIcEED2Ev +libstdc++.so.6:_ZNSt13basic_fstreamIcSt11char_traitsIcEEC1Ev +libstdc++.so.6:_ZNSt13basic_fstreamIcSt11char_traitsIcEED1Ev +libstdc++.so.6:_ZNSt13random_device7_M_finiEv +libstdc++.so.6:_ZNSt13random_device7_M_initERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE +libstdc++.so.6:_ZNSt13random_device9_M_getvalEv +libstdc++.so.6:_ZNSt13runtime_errorC2EPKc +libstdc++.so.6:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode +libstdc++.so.6:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode +libstdc++.so.6:_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev +libstdc++.so.6:_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev +libstdc++.so.6:_ZNSt14basic_ofstreamIcSt11char_traitsIcEE5closeEv +libstdc++.so.6:_ZNSt14basic_ofstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode +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:_ZNSt5ctypeIcE2idE +libstdc++.so.6:_ZNSt6localeC1ERKS_ +libstdc++.so.6:_ZNSt6localeC1Ev +libstdc++.so.6:_ZNSt6localeD1Ev +libstdc++.so.6:_ZNSt6localeaSERKS_ +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_traitsIcESaIcEE6appendEPKc +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_traitsIcESaIcEEC2EPKcRKS3_ +libstdc++.so.6:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev +libstdc++.so.6:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_ +libstdc++.so.6:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc +libstdc++.so.6:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLEPKc +libstdc++.so.6:_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEpLERKS4_ +libstdc++.so.6:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE10_M_replaceEmmPKwm +libstdc++.so.6:_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE9_M_createERmm +libstdc++.so.6:_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode +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_traitsIcESaIcEEC1ERKNS_12basic_stringIcS2_S3_EESt13_Ios_Openmode +libstdc++.so.6:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev +libstdc++.so.6:_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev +libstdc++.so.6:_ZNSt8__detail15_List_node_base11_M_transferEPS0_S1_ +libstdc++.so.6:_ZNSt8__detail15_List_node_base7_M_hookEPS0_ +libstdc++.so.6:_ZNSt8__detail15_List_node_base9_M_unhookEv +libstdc++.so.6:_ZNSt8ios_base4InitC1Ev +libstdc++.so.6:_ZNSt8ios_base4InitD1Ev +libstdc++.so.6:_ZNSt8ios_baseD2Ev +libstdc++.so.6:_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate +libstdc++.so.6:_ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E +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:_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l +libstdc++.so.6:_ZSt16__throw_bad_castv +libstdc++.so.6:_ZSt17__throw_bad_allocv +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_length_errorPKc +libstdc++.so.6:_ZSt20__throw_out_of_rangePKc +libstdc++.so.6:_ZSt20__throw_system_errori +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_ +libstdc++.so.6:_ZSt28__throw_bad_array_new_lengthv +libstdc++.so.6:_ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_ +libstdc++.so.6:_ZSt2wsIcSt11char_traitsIcEERSt13basic_istreamIT_T0_ES6_ +libstdc++.so.6:_ZSt4cerr +libstdc++.so.6:_ZSt4cout +libstdc++.so.6:_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_ +libstdc++.so.6:_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4_ +libstdc++.so.6:_ZSt7nothrow +libstdc++.so.6:_ZSt9terminatev +libstdc++.so.6:_ZSt9use_facetINSt7__cxx117collateIcEEERKT_RKSt6locale +libstdc++.so.6:_ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale +libstdc++.so.6:_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc +libstdc++.so.6:_ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE +libstdc++.so.6:_ZTINSt6locale5facetE +libstdc++.so.6:_ZTISt11regex_error +libstdc++.so.6:_ZTISt16invalid_argument +libstdc++.so.6:_ZTISt5ctypeIcE +libstdc++.so.6:_ZTISt9bad_alloc +libstdc++.so.6:_ZTISt9exception +libstdc++.so.6:_ZTTNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE +libstdc++.so.6:_ZTTNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE +libstdc++.so.6:_ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE +libstdc++.so.6:_ZTTSt13basic_fstreamIcSt11char_traitsIcEE +libstdc++.so.6:_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE +libstdc++.so.6:_ZTTSt14basic_ofstreamIcSt11char_traitsIcEE +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:_ZTVSt15basic_streambufIcSt11char_traitsIcEE +libstdc++.so.6:_ZdaPv +libstdc++.so.6:_ZdlPv +libstdc++.so.6:_Znam +libstdc++.so.6:_ZnamRKSt9nothrow_t +libstdc++.so.6:_Znwm +libstdc++.so.6:__cxa_allocate_exception +libstdc++.so.6:__cxa_bad_cast +libstdc++.so.6:__cxa_begin_catch +libstdc++.so.6:__cxa_end_catch +libstdc++.so.6:__cxa_free_exception +libstdc++.so.6:__cxa_get_exception_ptr +libstdc++.so.6:__cxa_guard_abort +libstdc++.so.6:__cxa_guard_acquire +libstdc++.so.6:__cxa_guard_release +libstdc++.so.6:__cxa_pure_virtual +libstdc++.so.6:__cxa_rethrow +libstdc++.so.6:__cxa_throw +libstdc++.so.6:__dynamic_cast +libstdc++.so.6:__gxx_personality_v0 +libstdc++.so.6:__once_proxy Index: files/0001-Allow-ROCclr-to-be-built-standalone.patch =================================================================== --- /dev/null +++ files/0001-Allow-ROCclr-to-be-built-standalone.patch @@ -0,0 +1,202 @@ +From 43d58b7ffdfeae7d5bd36bfd76aff1e46302ca79 Mon Sep 17 00:00:00 2001 +From: Jeremy Newton +Date: Wed, 20 Apr 2022 00:24:06 -0400 +Subject: [PATCH] Allow ROCclr to be built standalone + +The OpenCL sources are still required, but this patch allows ROCclr to +be built, installed, and packaged independently. + +Change-Id: Ibe29a76d3a8c4798a0ce5a30f3645a05306d165b +--- + CMakeLists.txt | 1 + + cmake/ROCclr.cmake | 56 +++++++++++++++++++++++++++++++------ + cmake/ROCclrConfig.cmake.in | 12 ++++++++ + cmake/ROCclrHSA.cmake | 4 +-- + cmake/ROCclrHSAIL.cmake | 2 +- + cmake/ROCclrLC.cmake | 4 +-- + cmake/ROCclrPAL.cmake | 2 +- + 7 files changed, 67 insertions(+), 14 deletions(-) + create mode 100644 cmake/ROCclrConfig.cmake.in + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 29ed85f8..e2db2a67 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -24,6 +24,7 @@ project(ROCclr) + + if (${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}) + message(AUTHOR_WARNING "ROCclr is being built as a standalone project. This isn't supported anymore.") ++ set(ROCCLR_STANDALONE ON CACHE STRING "Enable standalone ROCclr") + endif() + + list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) +diff --git a/cmake/ROCclr.cmake b/cmake/ROCclr.cmake +index e4d0cdc1..3434d556 100644 +--- a/cmake/ROCclr.cmake ++++ b/cmake/ROCclr.cmake +@@ -20,6 +20,12 @@ + + cmake_minimum_required(VERSION 3.5) + ++# Set default libdir to be "lib" for ROCm, distros will override this anyway: ++set(CMAKE_INSTALL_LIBDIR "lib" CACHE STRING "Library install directory") ++ ++include(GNUInstallDirs) ++include(CMakePackageConfigHelpers) ++ + # ROCclr abstracts the usage of multiple AMD compilers and runtimes. + # It is possible to support multiple backends concurrently in the same binary. + option(ROCCLR_ENABLE_HSAIL "Enable support for HSAIL compiler" OFF) +@@ -27,6 +33,9 @@ option(ROCCLR_ENABLE_LC "Enable support for LC compiler" ON) + option(ROCCLR_ENABLE_HSA "Enable support for HSA runtime" ON) + option(ROCCLR_ENABLE_PAL "Enable support for PAL runtime" OFF) + ++# Set to enable install of ROCclr as a standalone library ++option(ROCCLR_STANDALONE "Enable standalone ROCclr" OFF) ++ + if((NOT ROCCLR_ENABLE_HSAIL) AND (NOT ROCCLR_ENABLE_LC)) + message(FATAL "Support for at least one compiler needs to be enabled!") + endif() +@@ -89,21 +98,18 @@ target_sources(rocclr PRIVATE + ${ROCCLR_SRC_DIR}/utils/debug.cpp + ${ROCCLR_SRC_DIR}/utils/flags.cpp) + ++set(ROCCLR_COMPILE_DEFINITIONS "-DLITTLEENDIAN_CPU;-DWITH_LIQUID_FLASH=0;${AMD_OPENCL_DEFS}") ++ + if(WIN32) +- target_compile_definitions(rocclr PUBLIC ATI_OS_WIN) ++ string(APPEND ROCCLR_COMPILE_DEFINITIONS ";-DATI_OS_WIN") + else() +- target_compile_definitions(rocclr PUBLIC ATI_OS_LINUX) ++ string(APPEND ROCCLR_COMPILE_DEFINITIONS ";-DATI_OS_LINUX") + endif() + + if(NOT CMAKE_CL_64) +- target_compile_definitions(rocclr PUBLIC ATI_BITS_32) ++ string(APPEND ROCCLR_COMPILE_DEFINITIONS ";-DATI_BITS_32") + endif() + +-target_compile_definitions(rocclr PUBLIC +- LITTLEENDIAN_CPU +- WITH_LIQUID_FLASH=0 +- ${AMD_OPENCL_DEFS}) +- + target_include_directories(rocclr PUBLIC + ${ROCCLR_SRC_DIR} + ${ROCCLR_SRC_DIR}/compiler/lib +@@ -135,3 +141,37 @@ endif() + if(ROCCLR_ENABLE_PAL) + include(ROCclrPAL) + endif() ++ ++target_compile_definitions(rocclr PUBLIC ${ROCCLR_COMPILE_DEFINITIONS}) ++ ++if(ROCCLR_STANDALONE) ++ install( TARGETS rocclr ++ EXPORT rocclr ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++ ++ configure_package_config_file( ++ "${ROCCLR_INCLUDE_DIR}/../cmake/ROCclrConfig.cmake.in" ++ "${CMAKE_CURRENT_BINARY_DIR}/ROCclrConfig.cmake" ++ INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/rocclr ++ PATH_VARS ++ CMAKE_INSTALL_LIBDIR ++ CMAKE_INSTALL_INCLUDEDIR ++ ) ++ ++ install(FILES ++ "${CMAKE_CURRENT_BINARY_DIR}/ROCclrConfig.cmake" ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/ROCclr") ++ ++ install ( ++ DIRECTORY ++ "${AMD_OPENCL_INCLUDE_DIR}/../../../../amdocl" ++ "${ROCCLR_INCLUDE_DIR}" ++ "${ROCCLR_INCLUDE_DIR}/../elf" ++ "${ROCCLR_INCLUDE_DIR}/../utils" ++ "${ROCCLR_INCLUDE_DIR}/../platform" ++ "${ROCCLR_INCLUDE_DIR}/../thread" ++ "${ROCCLR_INCLUDE_DIR}/../os" ++ "${ROCCLR_INCLUDE_DIR}/../device" ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/rocclr ++ FILES_MATCHING PATTERN "*.h*") ++endif() +diff --git a/cmake/ROCclrConfig.cmake.in b/cmake/ROCclrConfig.cmake.in +new file mode 100644 +index 00000000..5416310b +--- /dev/null ++++ b/cmake/ROCclrConfig.cmake.in +@@ -0,0 +1,12 @@ ++@PACKAGE_INIT@ ++ ++set_and_check( ROCCLR_INCLUDE_DIR "@CMAKE_INSTALL_FULL_INCLUDEDIR@/rocclr" ) ++set(ROCCLR_INCLUDE_DIRS ++ ${ROCCLR_INCLUDE_DIR} ++ ${ROCCLR_INCLUDE_DIR}/include ++ ${ROCCLR_INCLUDE_DIR}/amdocl ++ ${ROCCLR_INCLUDE_DIR}/elf ) ++set_and_check( ROCCLR_LIB_INSTALL_DIR "@CMAKE_INSTALL_FULL_LIBDIR@" ) ++set( ROCCLR_COMPILE_DEFINITIONS "@ROCCLR_COMPILE_DEFINITIONS@" ) ++ ++check_required_components(ROCclr) +diff --git a/cmake/ROCclrHSA.cmake b/cmake/ROCclrHSA.cmake +index 3104df96..f3056aef 100644 +--- a/cmake/ROCclrHSA.cmake ++++ b/cmake/ROCclrHSA.cmake +@@ -29,7 +29,7 @@ target_link_libraries(rocclr PUBLIC hsa-runtime64::hsa-runtime64) + + find_package(NUMA) + if(NUMA_FOUND) +- target_compile_definitions(rocclr PUBLIC ROCCLR_SUPPORT_NUMA_POLICY) ++ string(APPEND ROCCLR_COMPILE_DEFINITIONS ";-DROCCLR_SUPPORT_NUMA_POLICY") + target_include_directories(rocclr PUBLIC ${NUMA_INCLUDE_DIR}) + target_link_libraries(rocclr PUBLIC ${NUMA_LIBRARIES}) + endif() +@@ -50,4 +50,4 @@ target_sources(rocclr PRIVATE + ${ROCCLR_SRC_DIR}/device/rocm/rocvirtual.cpp + ${ROCCLR_SRC_DIR}/device/rocm/rocurilocator.cpp) + +-target_compile_definitions(rocclr PUBLIC WITH_HSA_DEVICE) ++string(APPEND ROCCLR_COMPILE_DEFINITIONS ";-DWITH_HSA_DEVICE") +diff --git a/cmake/ROCclrHSAIL.cmake b/cmake/ROCclrHSAIL.cmake +index 24af4841..23b517c4 100644 +--- a/cmake/ROCclrHSAIL.cmake ++++ b/cmake/ROCclrHSAIL.cmake +@@ -18,4 +18,4 @@ + # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + # THE SOFTWARE. + +-target_compile_definitions(rocclr PUBLIC WITH_COMPILER_LIB HSAIL_DYN_DLL) ++string(APPEND ROCCLR_COMPILE_DEFINITIONS ";-DWITH_COMPILER_LIB;-DHSAIL_DYN_DLL") +diff --git a/cmake/ROCclrLC.cmake b/cmake/ROCclrLC.cmake +index cb78fa24..2ce1e870 100644 +--- a/cmake/ROCclrLC.cmake ++++ b/cmake/ROCclrLC.cmake +@@ -25,8 +25,8 @@ find_package(amd_comgr REQUIRED CONFIG + cmake/amd_comgr + lib/cmake/amd_comgr) + +-target_compile_definitions(rocclr PUBLIC WITH_LIGHTNING_COMPILER USE_COMGR_LIBRARY) ++string(APPEND ROCCLR_COMPILE_DEFINITIONS ";-DWITH_LIGHTNING_COMPILER;-DUSE_COMGR_LIBRARY") + if(BUILD_SHARED_LIBS) +- target_compile_definitions(rocclr PUBLIC COMGR_DYN_DLL) ++ string(APPEND ROCCLR_COMPILE_DEFINITIONS ";-DCOMGR_DYN_DLL") + endif() + target_link_libraries(rocclr PUBLIC amd_comgr) +diff --git a/cmake/ROCclrPAL.cmake b/cmake/ROCclrPAL.cmake +index 4c0ec032..ec210d4c 100644 +--- a/cmake/ROCclrPAL.cmake ++++ b/cmake/ROCclrPAL.cmake +@@ -72,7 +72,7 @@ target_sources(rocclr PRIVATE + ${ROCCLR_SRC_DIR}/device/pal/paltimestamp.cpp + ${ROCCLR_SRC_DIR}/device/pal/palvirtual.cpp) + +-target_compile_definitions(rocclr PUBLIC WITH_PAL_DEVICE PAL_GPUOPEN_OCL) ++string(APPEND ROCCLR_COMPILE_DEFINITIONS ";-DWITH_PAL_DEVICE PAL_GPUOPEN_OCL") + target_include_directories(rocclr PUBLIC ${AMD_UGL_INCLUDE_DIRS}) + target_link_libraries(rocclr PUBLIC pal amdhsaloader) + +-- +2.34.1 + Index: files/0001-SWDEV-321118-Use-GNUInstallDirs.patch =================================================================== --- /dev/null +++ files/0001-SWDEV-321118-Use-GNUInstallDirs.patch @@ -0,0 +1,126 @@ +From f86726945b821939a2d4620094f4f5f0a866a564 Mon Sep 17 00:00:00 2001 +From: Jeremy Newton +Date: Mon, 31 Jan 2022 17:54:14 -0500 +Subject: [PATCH 1/3] SWDEV-321118 - Use GNUInstallDirs + +Use GNUInstallDirs variables to determine the location of BINDIR, +LIBDIR, DOCDIR, and SYSCONFDIR. + +Signed-off-by: Jeremy Newton +Change-Id: Ifb38263dce80d80c5ebb4eacd8e49c76bb013a44 +--- + CMakeLists.txt | 2 +- + packaging/CMakeLists.txt | 12 ++++++------ + packaging/rocm-ocl-icd.postinst | 4 ++-- + packaging/rocm-ocl-icd.prerm | 4 ++-- + packaging/rocm-ocl-icd.rpm_post | 4 ++-- + packaging/rocm-ocl-icd.rpm_postun | 4 ++-- + 6 files changed, 15 insertions(+), 15 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e5c4537..0612fa2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -5,7 +5,7 @@ if (POLICY CMP0048) + set(PROJ_VERSION VERSION 1.5.0) + endif() + +-project(opencl) ++project(rocm-opencl) + + include(GNUInstallDirs) + +diff --git a/packaging/CMakeLists.txt b/packaging/CMakeLists.txt +index 13a2185..2b6fa77 100644 +--- a/packaging/CMakeLists.txt ++++ b/packaging/CMakeLists.txt +@@ -1,13 +1,13 @@ + cmake_minimum_required(VERSION 3.5.1) +-project(rocm-opencl) ++include(GNUInstallDirs) + + set(CPACK_COMPONENTS_ALL binary dev icd) + set(CPACK_DEB_COMPONENT_INSTALL ON) + set(CPACK_RPM_COMPONENT_INSTALL ON) + +-install(TARGETS clinfo DESTINATION bin COMPONENT binary) +-install(TARGETS amdocl DESTINATION lib COMPONENT binary) +-install(FILES ${CMAKE_SOURCE_DIR}/LICENSE.txt DESTINATION share/doc/${CMAKE_PROJECT_NAME} COMPONENT binary) ++install(TARGETS clinfo DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT binary) ++install(TARGETS amdocl DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT binary) ++install(FILES ${CMAKE_SOURCE_DIR}/LICENSE.txt DESTINATION ${CMAKE_INSTALL_DOCDIR} COMPONENT binary) + + install(DIRECTORY ${CMAKE_SOURCE_DIR}/khronos/headers/opencl2.2/CL + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT dev +@@ -17,8 +17,8 @@ install(DIRECTORY ${CMAKE_SOURCE_DIR}/khronos/headers/opencl2.2/CL + PATTERN cl_dx9_media_sharing.h EXCLUDE + PATTERN cl_egl.h EXCLUDE ) + +-install(TARGETS OpenCL DESTINATION lib COMPONENT icd ) +-install(FILES ${CMAKE_SOURCE_DIR}/khronos/icd/LICENSE DESTINATION share/doc/rocm-ocl-icd COMPONENT icd) ++install(TARGETS OpenCL DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT icd ) ++install(FILES ${CMAKE_SOURCE_DIR}/khronos/icd/LICENSE DESTINATION ${CMAKE_INSTALL_DATADIR}/doc/rocm-ocl-icd COMPONENT icd) + + + # Generic CPACK variables +diff --git a/packaging/rocm-ocl-icd.postinst b/packaging/rocm-ocl-icd.postinst +index 0780970..7c46ade 100644 +--- a/packaging/rocm-ocl-icd.postinst ++++ b/packaging/rocm-ocl-icd.postinst +@@ -6,8 +6,8 @@ INSTALL_PATH=@CPACK_PACKAGING_INSTALL_PREFIX@ + ROCM_LIBPATH=@ROCM_PATH@/lib + + do_ldconfig() { +- echo ${INSTALL_PATH}/lib > /etc/ld.so.conf.d/10-rocm-opencl.conf && ldconfig +- mkdir -p /etc/OpenCL/vendors && (echo libamdocl64.so > /etc/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@) ++ echo ${INSTALL_PATH}/@CMAKE_INSTALL_LIBDIR@ > /@CMAKE_INSTALL_SYSCONFDIR@/ld.so.conf.d/10-rocm-opencl.conf && ldconfig ++ mkdir -p /@CMAKE_INSTALL_SYSCONFDIR@/OpenCL/vendors && (echo libamdocl64.so > /@CMAKE_INSTALL_SYSCONFDIR@/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@) + } + + case "$1" in +diff --git a/packaging/rocm-ocl-icd.prerm b/packaging/rocm-ocl-icd.prerm +index 9fc6c8d..e0b5417 100644 +--- a/packaging/rocm-ocl-icd.prerm ++++ b/packaging/rocm-ocl-icd.prerm +@@ -3,8 +3,8 @@ + set -e + + rm_ldconfig() { +- rm -f /etc/ld.so.conf.d/10-rocm-opencl.conf && ldconfig +- rm -f /etc/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@ ++ rm -f /@CMAKE_INSTALL_SYSCONFDIR@/ld.so.conf.d/10-rocm-opencl.conf && ldconfig ++ rm -f /@CMAKE_INSTALL_SYSCONFDIR@/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@ + } + + case "$1" in +diff --git a/packaging/rocm-ocl-icd.rpm_post b/packaging/rocm-ocl-icd.rpm_post +index 7ce5d97..49129ce 100644 +--- a/packaging/rocm-ocl-icd.rpm_post ++++ b/packaging/rocm-ocl-icd.rpm_post +@@ -1,8 +1,8 @@ + INSTALL_PATH=@CPACK_PACKAGING_INSTALL_PREFIX@ + ROCM_LIBPATH=@ROCM_PATH@/lib + +-echo ${INSTALL_PATH}/lib > /etc/ld.so.conf.d/10-rocm-opencl.conf && ldconfig +-mkdir -p /etc/OpenCL/vendors && (echo libamdocl64.so > /etc/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@) ++echo ${INSTALL_PATH}/@CMAKE_INSTALL_LIBDIR@ > /@CMAKE_INSTALL_SYSCONFDIR@/ld.so.conf.d/10-rocm-opencl.conf && ldconfig ++mkdir -p /@CMAKE_INSTALL_SYSCONFDIR@/OpenCL/vendors && (echo libamdocl64.so > /@CMAKE_INSTALL_SYSCONFDIR@/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@) + + mkdir -p ${ROCM_LIBPATH} + ln -s -f -r ${INSTALL_PATH}/lib/libOpenCL.so ${ROCM_LIBPATH}/libOpenCL.so +diff --git a/packaging/rocm-ocl-icd.rpm_postun b/packaging/rocm-ocl-icd.rpm_postun +index 356c7af..44bbce3 100644 +--- a/packaging/rocm-ocl-icd.rpm_postun ++++ b/packaging/rocm-ocl-icd.rpm_postun +@@ -1,6 +1,6 @@ + if [ $1 -eq 0 ]; then +- rm -f /etc/ld.so.conf.d/10-rocm-opencl.conf && ldconfig +- rm -f /etc/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@ ++ rm -f /@CMAKE_INSTALL_SYSCONFDIR@/ld.so.conf.d/10-rocm-opencl.conf && ldconfig ++ rm -f /@CMAKE_INSTALL_SYSCONFDIR@/OpenCL/vendors/@OPENCL_AMD_ICD_FILE@ + rm -f @ROCM_PATH@/lib/libOpenCL.so + rm -f @ROCM_PATH@/lib/libOpenCL.so.@OPENCL_LIB_VERSION_MAJOR@ + rm -f @ROCM_PATH@/lib/libOpenCL.so.@OPENCL_LIB_VERSION_STRING@ +-- +2.35.1 + Index: files/0001-SWDEV-323669-Fix-linux-arch-detection.patch =================================================================== --- /dev/null +++ files/0001-SWDEV-323669-Fix-linux-arch-detection.patch @@ -0,0 +1,53 @@ +From 211c1c4d8c7f6dac48ba6c73256da60955f9dbd1 Mon Sep 17 00:00:00 2001 +From: Jeremy Newton +Date: Thu, 17 Feb 2022 09:05:56 -0500 +Subject: [PATCH] SWDEV-323669 - Fix linux arch detection + +CMake assumes we're bundling on x86, but for GNU compatible compilers, +we should rely on the compiler target to set the build arch. + +For non-gnu compilers, just fall back to assuming x86 (no change). + +Signed-off-by: Jeremy Newton +Change-Id: Iee9794e6f7c3973c781ddaf740ded77f34712c4f +--- + cmake/ROCclr.cmake | 1 - + include/top.hpp | 10 ++++++++++ + 2 files changed, 10 insertions(+), 1 deletion(-) + +diff --git a/cmake/ROCclr.cmake b/cmake/ROCclr.cmake +index 2f6ff8c1..e4d0cdc1 100644 +--- a/cmake/ROCclr.cmake ++++ b/cmake/ROCclr.cmake +@@ -100,7 +100,6 @@ if(NOT CMAKE_CL_64) + endif() + + target_compile_definitions(rocclr PUBLIC +- ATI_ARCH_X86 + LITTLEENDIAN_CPU + WITH_LIQUID_FLASH=0 + ${AMD_OPENCL_DEFS}) +diff --git a/include/top.hpp b/include/top.hpp +index f51db7d1..70273510 100644 +--- a/include/top.hpp ++++ b/include/top.hpp +@@ -21,6 +21,16 @@ + #ifndef TOP_HPP_ + #define TOP_HPP_ + ++#if defined(__GNUC__) ++#if defined(__arm__) || defined(__aarch64__) ++#define ATI_ARCH_ARM ++#elif defined(__x86__) || defined(__x86_64__) ++#define ATI_ARCH_X86 ++#endif ++#else /*!__GNUC__*/ ++#define ATI_ARCH_X86 ++#endif /*!__GNUC__*/ ++ + #if defined(ATI_ARCH_ARM) + #define __EXPORTED_HEADERS__ 1 + #endif /*ATI_ARCH_ARM*/ +-- +2.34.1 + Index: files/0001-enable-gfx800.patch =================================================================== --- /dev/null +++ files/0001-enable-gfx800.patch @@ -0,0 +1,16 @@ +#From xuhuisheng +#at https://github.com/RadeonOpenCompute/ROCm/issues/1659#issuecomment-1041026624 + +diff --git a/utils/flags.hpp b/utils/flags.hpp +index 8f0228cc..2eaa47c5 100644 +--- a/utils/flags.hpp ++++ b/utils/flags.hpp +@@ -245,7 +245,7 @@ release(bool, ROC_SYSTEM_SCOPE_SIGNAL, true, \ + "Enable system scope for signals (uses interrupts).") \ + release(bool, ROC_SKIP_COPY_SYNC, false, \ + "Skips copy syncs if runtime can predict the same engine.") \ +-release(bool, ROC_ENABLE_PRE_VEGA, false, \ ++release(bool, ROC_ENABLE_PRE_VEGA, true, \ + "Enable support of pre-vega ASICs in ROCm path") \ + release(bool, HIP_FORCE_QUEUE_PROFILING, false, \ + "Force command queue profiling by default") \ Index: files/0002-SWDEV-321116-Allow-disabling-ICD-loader.patch =================================================================== --- /dev/null +++ files/0002-SWDEV-321116-Allow-disabling-ICD-loader.patch @@ -0,0 +1,168 @@ +From cee67d6763e9f0c44e97d867042993b1041f40fb Mon Sep 17 00:00:00 2001 +From: Jeremy Newton +Date: Wed, 6 Apr 2022 15:07:13 -0400 +Subject: [PATCH 2/3] SWDEV-321116 - Allow disabling ICD loader + +This patch adds an option to allow not building the ICD loader with +rocm-opencl. This isn't useful for internal use, but distros will want +this to allow packaging rocm-opencl with their own OCL ICD loader. + +Signed-off-by: Jeremy Newton +Change-Id: I6006593eceed543cd829e8949ec2256482815673 +--- + CMakeLists.txt | 23 ++++++++++++------- + packaging/CMakeLists.txt | 49 +++++++++++++++++++++++++++------------- + 2 files changed, 48 insertions(+), 24 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0612fa2..3bb903a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -10,11 +10,14 @@ project(rocm-opencl) + include(GNUInstallDirs) + + option(BUILD_TESTS "Enable building OpenCL tests" OFF) ++option(BUILD_ICD "Enable building OpenCL ICD Loader" ON) + option(EMU_ENV "Enable building for emulation environment" OFF) + + + set(OPENCL_ICD_LOADER_HEADERS_DIR "${CMAKE_CURRENT_LIST_DIR}/khronos/headers/opencl2.2" CACHE PATH "") +-add_subdirectory(khronos/icd) ++if(BUILD_ICD) ++ add_subdirectory(khronos/icd) ++endif() + add_subdirectory(amdocl) + add_subdirectory(tools/clinfo) + add_subdirectory(tools/cltrace) +@@ -52,8 +55,10 @@ if (DEFINED ROCM_PATCH_VERSION) + set(OPENCL_AMD_ICD_FILE "amdocl64_${ROCM_PATCH_VERSION}.icd") + endif() + +-get_target_property(OPENCL_LIB_VERSION_MAJOR OpenCL SOVERSION) +-get_target_property(OPENCL_LIB_VERSION_STRING OpenCL VERSION) ++if(BUILD_ICD) ++ get_target_property(OPENCL_LIB_VERSION_MAJOR OpenCL SOVERSION) ++ get_target_property(OPENCL_LIB_VERSION_STRING OpenCL VERSION) ++endif() + + #Set Package Version + set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION}) +@@ -71,11 +76,13 @@ message (STATUS "ROCM Installation path(ROCM_PATH): ${ROCM_PATH}") + + #Package: rocm-opencl,rocm-opencl-dev/devel,rocm-ocl-icd + +-set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/packages/rocm-ocl-icd) +-configure_file(packaging/rocm-ocl-icd.postinst ${BUILD_DIR}/postinst @ONLY) +-configure_file(packaging/rocm-ocl-icd.prerm ${BUILD_DIR}/prerm @ONLY) +-configure_file(packaging/rocm-ocl-icd.rpm_post ${BUILD_DIR}/rpm_post @ONLY) +-configure_file(packaging/rocm-ocl-icd.rpm_postun ${BUILD_DIR}/rpm_postun @ONLY) ++if(BUILD_ICD) ++ set(BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR}/packages/rocm-ocl-icd) ++ configure_file(packaging/rocm-ocl-icd.postinst ${BUILD_DIR}/postinst @ONLY) ++ configure_file(packaging/rocm-ocl-icd.prerm ${BUILD_DIR}/prerm @ONLY) ++ configure_file(packaging/rocm-ocl-icd.rpm_post ${BUILD_DIR}/rpm_post @ONLY) ++ configure_file(packaging/rocm-ocl-icd.rpm_postun ${BUILD_DIR}/rpm_postun @ONLY) ++endif() + + add_subdirectory(packaging) + +diff --git a/packaging/CMakeLists.txt b/packaging/CMakeLists.txt +index 2b6fa77..ab8fed2 100644 +--- a/packaging/CMakeLists.txt ++++ b/packaging/CMakeLists.txt +@@ -1,7 +1,10 @@ + cmake_minimum_required(VERSION 3.5.1) + include(GNUInstallDirs) + +-set(CPACK_COMPONENTS_ALL binary dev icd) ++set(CPACK_COMPONENTS_ALL binary dev) ++if(BUILD_ICD) ++ string ( APPEND CPACK_COMPONENTS_ALL " icd" ) ++endif() + set(CPACK_DEB_COMPONENT_INSTALL ON) + set(CPACK_RPM_COMPONENT_INSTALL ON) + +@@ -17,8 +20,10 @@ install(DIRECTORY ${CMAKE_SOURCE_DIR}/khronos/headers/opencl2.2/CL + PATTERN cl_dx9_media_sharing.h EXCLUDE + PATTERN cl_egl.h EXCLUDE ) + +-install(TARGETS OpenCL DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT icd ) +-install(FILES ${CMAKE_SOURCE_DIR}/khronos/icd/LICENSE DESTINATION ${CMAKE_INSTALL_DATADIR}/doc/rocm-ocl-icd COMPONENT icd) ++if(BUILD_ICD) ++ install(TARGETS OpenCL DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT icd ) ++ install(FILES ${CMAKE_SOURCE_DIR}/khronos/icd/LICENSE DESTINATION ${CMAKE_INSTALL_DATADIR}/doc/rocm-ocl-icd COMPONENT icd) ++endif() + + + # Generic CPACK variables +@@ -45,11 +50,19 @@ endif() + message("Using CPACK_DEBIAN_PACKAGE_RELEASE ${CPACK_DEBIAN_PACKAGE_RELEASE}") + + set(CPACK_DEBIAN_FILE_NAME "DEB-DEFAULT") +-set(CPACK_DEBIAN_BINARY_PACKAGE_DEPENDS "rocm-ocl-icd, libelf-dev, comgr, hsa-rocr, rocm-core") ++if(BUILD_ICD) ++ set(CPACK_DEBIAN_BINARY_PACKAGE_DEPENDS "rocm-ocl-icd, libelf-dev, comgr, hsa-rocr, rocm-core") ++else() ++ set(CPACK_DEBIAN_BINARY_PACKAGE_DEPENDS "ocl-icd-libopencl1, libelf-dev, comgr, hsa-rocr, rocm-core") ++endif() + + # RPM CPACK variables + set(CPACK_BINARY_RPM "ON") +-set(CPACK_RPM_BINARY_PACKAGE_REQUIRES "rocm-ocl-icd, comgr, hsa-rocr, rocm-core") ++if(BUILD_ICD) ++ set(CPACK_RPM_BINARY_PACKAGE_REQUIRES "rocm-ocl-icd, comgr, hsa-rocr, rocm-core") ++else() ++ set(CPACK_RPM_BINARY_PACKAGE_REQUIRES "ocl-icd, comgr, hsa-rocr, rocm-core") ++endif() + + #Unable to set CPACK_RPM_BIANRY_PACKAGE_LICENSE to control individual pacakge license + #Hence combining the license for BINARY,DEV,ICD to one +@@ -70,21 +83,23 @@ set(CPACK_RPM_DEV_PACKAGE_REQUIRES "rocm-opencl, hsa-rocr-devel, rocm-core") + ############################# + + # Debian CPACK variables +-set(CPACK_ICD_DEB "ON") +-set(CPACK_DEBIAN_ICD_PACKAGE_NAME "rocm-ocl-icd") ++if(BUILD_ICD) ++ set(CPACK_ICD_DEB "ON") ++ set(CPACK_DEBIAN_ICD_PACKAGE_NAME "rocm-ocl-icd") + +-set(CPACK_DEBIAN_ICD_PACKAGE_CONTROL_EXTRA "${CMAKE_BINARY_DIR}/packages/rocm-ocl-icd/postinst;${CMAKE_BINARY_DIR}/packages/rocm-ocl-icd/prerm") +-set(CPACK_DEBIAN_ICD_PACKAGE_DEPENDS "rocm-core") ++ set(CPACK_DEBIAN_ICD_PACKAGE_CONTROL_EXTRA "${CMAKE_BINARY_DIR}/packages/rocm-ocl-icd/postinst;${CMAKE_BINARY_DIR}/packages/rocm-ocl-icd/prerm") ++ set(CPACK_DEBIAN_ICD_PACKAGE_DEPENDS "rocm-core") + + # RPM CPACK variables +-set(CPACK_ICD_RPM "ON") +-set(CPACK_RPM_ICD_PACKAGE_NAME "rocm-ocl-icd") ++ set(CPACK_ICD_RPM "ON") ++ set(CPACK_RPM_ICD_PACKAGE_NAME "rocm-ocl-icd") + + + +-set(CPACK_RPM_ICD_POST_INSTALL_SCRIPT_FILE "${CMAKE_BINARY_DIR}/packages/rocm-ocl-icd/rpm_post") +-set(CPACK_RPM_ICD_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_BINARY_DIR}/packages/rocm-ocl-icd/rpm_postun") +-set(CPACK_RPM_ICD_PACKAGE_REQUIRES "rocm-core") ++ set(CPACK_RPM_ICD_POST_INSTALL_SCRIPT_FILE "${CMAKE_BINARY_DIR}/packages/rocm-ocl-icd/rpm_post") ++ set(CPACK_RPM_ICD_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_BINARY_DIR}/packages/rocm-ocl-icd/rpm_postun") ++ set(CPACK_RPM_ICD_PACKAGE_REQUIRES "rocm-core") ++endif() + + if(DEFINED ENV{CPACK_RPM_PACKAGE_RELEASE}) + set(CPACK_RPM_PACKAGE_RELEASE $ENV{CPACK_RPM_PACKAGE_RELEASE}) +@@ -113,8 +128,10 @@ if(NOT ROCM_DEP_ROCMCORE) + string(REGEX REPLACE ",? ?rocm-core" "" CPACK_DEBIAN_BINARY_PACKAGE_DEPENDS ${CPACK_DEBIAN_BINARY_PACKAGE_DEPENDS}) + string(REGEX REPLACE ",? ?rocm-core" "" CPACK_RPM_DEV_PACKAGE_REQUIRES ${CPACK_RPM_DEV_PACKAGE_REQUIRES}) + string(REGEX REPLACE ",? ?rocm-core" "" CPACK_DEBIAN_DEV_PACKAGE_DEPENDS ${CPACK_DEBIAN_DEV_PACKAGE_DEPENDS}) +- string(REGEX REPLACE ",? ?rocm-core" "" CPACK_RPM_ICD_PACKAGE_REQUIRES ${CPACK_RPM_ICD_PACKAGE_REQUIRES}) +- string(REGEX REPLACE ",? ?rocm-core" "" CPACK_DEBIAN_ICD_PACKAGE_DEPENDS ${CPACK_DEBIAN_ICD_PACKAGE_DEPENDS}) ++ if(BUILD_ICD) ++ string(REGEX REPLACE ",? ?rocm-core" "" CPACK_RPM_ICD_PACKAGE_REQUIRES ${CPACK_RPM_ICD_PACKAGE_REQUIRES}) ++ string(REGEX REPLACE ",? ?rocm-core" "" CPACK_DEBIAN_ICD_PACKAGE_DEPENDS ${CPACK_DEBIAN_ICD_PACKAGE_DEPENDS}) ++ endif() + endif() + + include(CPack) +-- +2.35.1 + Index: files/0003-SWDEV-321116-Drop-unnecessary-ICD-include.patch =================================================================== --- /dev/null +++ files/0003-SWDEV-321116-Drop-unnecessary-ICD-include.patch @@ -0,0 +1,44 @@ +From a0e5d11a28c6bc5bcc72927e06b643eb39ea3af3 Mon Sep 17 00:00:00 2001 +From: Jeremy Newton +Date: Wed, 6 Apr 2022 18:37:47 -0400 +Subject: [PATCH 3/3] SWDEV-321116 - Drop unnecessary ICD include + +This looks unused. This should allow building rocm-opencl without any +dependency on any particular OCL ICD. + +Signed-off-by: Jeremy Newton +Change-Id: Ib9229ede8400fd0e883275659ab99513b03952cb +--- + amdocl/cl_execute.cpp | 2 -- + amdocl/cl_icd.cpp | 2 -- + 2 files changed, 4 deletions(-) + +diff --git a/amdocl/cl_execute.cpp b/amdocl/cl_execute.cpp +index 71fe535..e1d5be2 100644 +--- a/amdocl/cl_execute.cpp ++++ b/amdocl/cl_execute.cpp +@@ -27,8 +27,6 @@ + #include "platform/program.hpp" + #include "os/os.hpp" + +-#include +- + /*! \addtogroup API + * @{ + * +diff --git a/amdocl/cl_icd.cpp b/amdocl/cl_icd.cpp +index 2a4f3af..4fce08b 100644 +--- a/amdocl/cl_icd.cpp ++++ b/amdocl/cl_icd.cpp +@@ -27,8 +27,6 @@ + #include "cl_d3d11_amd.hpp" + #endif //_WIN32 + +-#include +- + #include + + amd::PlatformIDS amd::PlatformID::Platform = //{ NULL }; +-- +2.35.1 + Index: files/0004-SWDEV-336248-Don-t-exclude-cl_egl.h-from-install.patch =================================================================== --- /dev/null +++ files/0004-SWDEV-336248-Don-t-exclude-cl_egl.h-from-install.patch @@ -0,0 +1,37 @@ +From 59e15ab918ee1823e1d289585d75686032a08909 Mon Sep 17 00:00:00 2001 +From: Jeremy Newton +Date: Mon, 25 Apr 2022 12:33:46 -0400 +Subject: [PATCH 4/4] SWDEV-336248 - Don't exclude cl_egl.h from install + +cl_icd.h includes cl_egl.h, but cl_egl.h is excluded from install. It +was reported by the community that including cl_icd.h would error due to +the missing cl_egl.h file. + +I'm assuming that cl_egl.h was excluded because EGL isn't important for +ROCm. Since cl_icd.h has some important typedefs, it makes sense just +to include cl_egl.h, which seems to be a common practice in open source +projects. + +Signed-off-by: Jeremy Newton +Change-Id: I506257c2dc51512ec8e11b1e5dadbe6e48ad785b +--- + packaging/CMakeLists.txt | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/packaging/CMakeLists.txt b/packaging/CMakeLists.txt +index b6d206a..60050f3 100644 +--- a/packaging/CMakeLists.txt ++++ b/packaging/CMakeLists.txt +@@ -18,8 +18,7 @@ install(DIRECTORY ${CMAKE_SOURCE_DIR}/khronos/headers/opencl2.2/CL + USE_SOURCE_PERMISSIONS + PATTERN cl_d3d10.h EXCLUDE + PATTERN cl_d3d11.h EXCLUDE +- PATTERN cl_dx9_media_sharing.h EXCLUDE +- PATTERN cl_egl.h EXCLUDE ) ++ PATTERN cl_dx9_media_sharing.h EXCLUDE ) + + if(BUILD_ICD) + install(TARGETS OpenCL DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT icd ) +-- +2.34.1 + Index: files/series =================================================================== --- /dev/null +++ files/series @@ -0,0 +1,4 @@ +0001-SWDEV-321118-Use-GNUInstallDirs.patch +0002-SWDEV-321116-Allow-disabling-ICD-loader.patch +0003-SWDEV-321116-Drop-unnecessary-ICD-include.patch +0004-SWDEV-336248-Don-t-exclude-cl_egl.h-from-install.patch Index: package.yml =================================================================== --- /dev/null +++ package.yml @@ -0,0 +1,70 @@ +name : rocm-opencl +version : 5.1.0 +release : 1 +source : + - https://github.com/ROCm-Developer-Tools/ROCclr/archive/refs/tags/rocm-5.1.0.tar.gz#ROCclr.tar.gz : f4f265604b534795a275af902b2c814f416434d9c9e16db81b3ed5d062187dfa + - https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/refs/tags/rocm-5.1.0.tar.gz#ROCm-OpenCL-Runtime.tar.gz : 362d81303048cf7ed5d2f69fb65ed65425bc3da4734fff83e3b8fbdda51b0927 +license : MIT +component : programming.devel +clang : yes +summary : + - OpenCL 2.2 compatible language runtime for AMD Radeon GPUs + - rocm-rocclr : Radeon Open Compute Common Language Runtime + - rocm-rocclr-devel : ROCclr development package +description: | + OpenCL 2.2 compatible language runtime for AMD Radeon GPUs +extract : False +rundeps : + - rocminfo + - rocm-compilersupport +builddeps : + - pkgconfig(OpenCL) + - pkgconfig(d3d) + - pkgconfig(gl) + - pkgconfig(libhsakmt) + - pkgconfig(numa) + - pkgconfig(x11-xcb) + - rocm-cmake + - rocm-compilersupport-devel + - rocm-device-libs-devel + - rocm-runtime-devel +setup : | + tar -xvzf $sources/ROCclr.tar.gz + tar -xvzf $sources/ROCm-OpenCL-Runtime.tar.gz --strip-components=1 + pushd ROCclr-rocm-%version% + %patch -p1 < $pkgfiles/0001-enable-gfx800.patch + %patch -p1 < $pkgfiles/0001-SWDEV-323669-Fix-linux-arch-detection.patch + echo "set_target_properties(rocclr PROPERTIES VERSION 5.1.0 SOVERSION 5.1)" \ + >> cmake/ROCclr.cmake + popd + echo "set_target_properties(cltrace PROPERTIES VERSION 5.1.0 SOVERSION 5.1)" \ + >> tools/cltrace/CMakeLists.txt + ls -d khronos/* | grep -v headers | xargs rm -r + ls -d khronos/headers/* | grep -v opencl2.2 | xargs rm -r + rm -r khronos/headers/*/tests/ + %apply_patches + %cmake -Wno-dev \ + -DAMD_OPENCL_PATH="%workdir%" \ + -DROCM_PATH=%PREFIX% \ + -DROCCLR_STANDALONE=ON \ + -DROCCLR_PATH="%workdir%/ROCclr-rocm-%version%" \ + -DBUILD_ICD=OFF \ + -DROCM_DIR=%PREFIX% +build : | + %make +install : | + %make_install + + install -Dm00644 config/amdocl64.icd \ + %installroot%/usr/share/OpenCL/vendors/amdocl64.icd + + #Avoid file conflicts with opencl-headers package: + mkdir -p %installroot%/usr/include/rocm-opencl + mv %installroot%/usr/include/CL %installroot%/usr/include/rocm-opencl/CL + + #CMake excludes installing this for some reason + install -Dm00644 khronos/headers/opencl2.2/CL/cl_egl.h \ + %installroot%/usr/include/rocm-opencl/CL + + #Avoid file conflicts with clinfo package: + mv %installroot%/usr/bin/clinfo %installroot%/usr/bin/rocm-clinfo Index: pspec_x86_64.xml =================================================================== --- /dev/null +++ pspec_x86_64.xml @@ -0,0 +1,66 @@ + + + rocm-opencl + + Jacek Jagosz + jacek.jagosz@outlook.com + + MIT + programming.devel + OpenCL 2.2 compatible language runtime for AMD Radeon GPUs + OpenCL 2.2 compatible language runtime for AMD Radeon GPUs + + https://getsol.us/sources/README.Solus + + + rocm-opencl + OpenCL 2.2 compatible language runtime for AMD Radeon GPUs + OpenCL 2.2 compatible language runtime for AMD Radeon GPUs + + programming.devel + + /usr/bin/rocm-clinfo + /usr/lib64/libcltrace.so.5.1 + /usr/lib64/libcltrace.so.5.1.0 + /usr/share/OpenCL/vendors/amdocl64.icd + /usr/share/doc/rocm-opencl/LICENSE.txt + + + + rocm-opencl-devel + Development files for rocm-opencl + OpenCL 2.2 compatible language runtime for AMD Radeon GPUs + + programming.devel + + rocm-opencl + + + /usr/include/rocm-opencl/CL/cl.h + /usr/include/rocm-opencl/CL/cl.hpp + /usr/include/rocm-opencl/CL/cl2.hpp + /usr/include/rocm-opencl/CL/cl_dx9_media_sharing_intel.h + /usr/include/rocm-opencl/CL/cl_egl.h + /usr/include/rocm-opencl/CL/cl_ext.h + /usr/include/rocm-opencl/CL/cl_ext_intel.h + /usr/include/rocm-opencl/CL/cl_gl.h + /usr/include/rocm-opencl/CL/cl_gl_ext.h + /usr/include/rocm-opencl/CL/cl_icd.h + /usr/include/rocm-opencl/CL/cl_platform.h + /usr/include/rocm-opencl/CL/cl_va_api_media_sharing_intel.h + /usr/include/rocm-opencl/CL/cl_version.h + /usr/include/rocm-opencl/CL/opencl.h + /usr/lib64/libamdocl64.so + /usr/lib64/libcltrace.so + + + + + 2022-07-01 + 5.1.0 + Packaging update + Jacek Jagosz + jacek.jagosz@outlook.com + + + \ No newline at end of file