Message boards : Number crunching : Intel ARC support ?
Author | Message |
---|---|
[AF>EDLS]zOU Send message Joined: 2 May 17 Posts: 18 Credit: 430,165,581 RAC: 359 |
Hello, several other projects have started to support the Intel ARC GPUs their power combined with their lower power consumption compared the NVIDIA/AMD make them very BOINC friendly Will we see app for them at some point ? thank you |
Sergei Chernykh Project administrator Project developer Send message Joined: 5 Jan 17 Posts: 534 Credit: 72,451,573 RAC: 0 |
Both AMD and NVIDIA use the same OpenCL application here, so if Intel drivers are stable enough to run it, it's possible. You can run the GPU app in offline mode and pass it the command line from any workunit to see if it works. |
[AF>EDLS]zOU Send message Joined: 2 May 17 Posts: 18 Credit: 430,165,581 RAC: 359 |
Thank you I've been doing BOINC work without issue for over a year on my Arc A750 (primegrid and Einstein mostly) If you can point me to a guide on how to proceed, I can test |
Sergei Chernykh Project administrator Project developer Send message Joined: 5 Jan 17 Posts: 534 Credit: 72,451,573 RAC: 0 |
You can just download https://sech.me/boinc/Amicable/download/Amicable_OpenCL_v_3_06.exe and then run it with command line /from 2*5*7*19*259777759 /to 2*5*7*19*259875541 /task_size 500185564895. If it runs and finishes without errors, then it should work fine on Intel ARC. |
[AF>EDLS]zOU Send message Joined: 2 May 17 Posts: 18 Credit: 430,165,581 RAC: 359 |
Thank you, I'll give it a try and post here |
[AF>EDLS]zOU Send message Joined: 2 May 17 Posts: 18 Credit: 430,165,581 RAC: 359 |
stderr 07:27:03 (15080): Can't open init data file - running in standalone mode Initializing prime tables...done C:\Users\User\Documents\GitHub\Amicable\Amicable\Amicable_OpenCL.cpp, line 1120: OpenCL platform available: Intel(R) OpenCL Graphics C:\Users\User\Documents\GitHub\Amicable\Amicable\Amicable_OpenCL.cpp, line 241: Platform 'Intel(R) OpenCL Graphics' is not supported by this program 07:27:33 (15080): called boinc_finish(-1) GPUcapsViewer export; ===================================[ OpenCL Capabilities ] |
Sergei Chernykh Project administrator Project developer Send message Joined: 5 Jan 17 Posts: 534 Credit: 72,451,573 RAC: 0 |
https://github.com/SChernykh/Amicable/blob/boinc-opencl-version-128-bit/Amicable/Amicable_OpenCL.cpp#L138 Now I remember why I disabled it. Intel has many CPUs with integrated graphics (which is not Intel ARC), and their driver quality is very bad, they never worked. Maybe they improved today. |
[AF>EDLS]zOU Send message Joined: 2 May 17 Posts: 18 Credit: 430,165,581 RAC: 359 |
https://github.com/SChernykh/Amicable/blob/boinc-opencl-version-128-bit/Amicable/Amicable_OpenCL.cpp#L138 Correct, also Intel iGPU impacts CPU performance, but Primegrid has implemented support for the discrete Intel GPU (ARC 380/750/770) while not allowing the iGPU to process any WU. So maybe there's an easy way to allow it for amicable ? |
Sergei Chernykh Project administrator Project developer Send message Joined: 5 Jan 17 Posts: 534 Credit: 72,451,573 RAC: 0 |
Maybe I could find a set of parameters for plan class that would filter out integrated GPUs: https://boinc.berkeley.edu/trac/wiki/AppPlanSpec#GPUApps For example, I could limit min_gpu_ram_mb to 5 GB for Intel GPUs, min_gpu_peak_speed to some value that Intel ARC GPUs pass and integrated GPUs don't pass. I'd like to know how exactly PrimeGrid did this. |
[AF>EDLS]zOU Send message Joined: 2 May 17 Posts: 18 Credit: 430,165,581 RAC: 359 |
|
[AF>EDLS]zOU Send message Joined: 2 May 17 Posts: 18 Credit: 430,165,581 RAC: 359 |
ARC A750 system <coprocs> <coproc_intel_gpu> <count>0</count> <name>Intel(R) Arc(TM) A750 Graphics</name> <available_ram>8319483904.000000</available_ram> <have_opencl>0</have_opencl> <peak_flops>8601600000000.000000</peak_flops> <version>31.0.101.5333</version> </coproc_intel_gpu> <intel_gpu_opencl> <name>Intel(R) Arc(TM) A750 Graphics</name> <vendor>Intel(R) Corporation</vendor> <vendor_id>32902</vendor_id> <available>1</available> <half_fp_config>63</half_fp_config> <single_fp_config>191</single_fp_config> <double_fp_config>0</double_fp_config> <endian_little>1</endian_little> <execution_capabilities>1</execution_capabilities> <extensions>cl_khr_byte_addressable_store cl_khr_device_uuid cl_khr_fp16 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_intel_command_queue_families cl_intel_subgroups cl_intel_required_subgroup_size cl_intel_subgroups_short cl_khr_spir cl_intel_accelerator cl_intel_driver_diagnostics cl_khr_priority_hints cl_khr_throttle_hints cl_khr_create_command_queue cl_intel_subgroups_char cl_intel_subgroups_long cl_khr_il_program cl_intel_mem_force_host_memory cl_khr_subgroup_extended_types cl_khr_subgroup_non_uniform_vote cl_khr_subgroup_ballot cl_khr_subgroup_non_uniform_arithmetic cl_khr_subgroup_shuffle cl_khr_subgroup_shuffle_relative cl_khr_subgroup_clustered_reduce cl_intel_device_attribute_query cl_khr_suggested_local_work_size cl_intel_split_work_group_barrier cl_intel_spirv_media_block_io cl_intel_spirv_subgroups cl_khr_spirv_linkonce_odr cl_khr_spirv_no_integer_wrap_decoration cl_intel_unified_shared_memory cl_khr_mipmap_image cl_khr_mipmap_image_writes cl_ext_float_atomics cl_khr_external_memory cl_intel_planar_yuv cl_intel_packed_yuv cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_image2d_from_buffer cl_khr_depth_images cl_khr_3d_image_writes cl_intel_media_block_io cl_intel_bfloat16_conversions cl_intel_create_buffer_with_properties cl_intel_dot_accumulate cl_intel_subgroup_local_block_io cl_intel_subgroup_matrix_multiply_accumulate cl_intel_subgroup_split_matrix_multiply_accumulate cl_khr_integer_dot_product cl_khr_gl_sharing cl_khr_gl_depth_images cl_khr_gl_event cl_khr_gl_msaa_sharing cl_intel_dx9_media_sharing cl_khr_dx9_media_sharing cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_intel_d3d11_nv12_media_sharing cl_intel_sharing_format_query cl_khr_pci_bus_info cl_intel_simultaneous_sharing </extensions> <global_mem_size>8319483904</global_mem_size> <local_mem_size>65536</local_mem_size> <max_clock_frequency>2400</max_clock_frequency> <max_compute_units>448</max_compute_units> <nv_compute_capability_major>0</nv_compute_capability_major> <nv_compute_capability_minor>0</nv_compute_capability_minor> <amd_simd_per_compute_unit>0</amd_simd_per_compute_unit> <amd_simd_width>0</amd_simd_width> <amd_simd_instruction_width>0</amd_simd_instruction_width> <opencl_platform_version>OpenCL 3.0 </opencl_platform_version> <opencl_device_version>OpenCL 3.0 NEO </opencl_device_version> <opencl_driver_version>31.0.101.5333</opencl_driver_version> <device_num>0</device_num> <peak_flops>8601600000000.000000</peak_flops> <opencl_available_ram>8319483904.000000</opencl_available_ram> <opencl_device_index>0</opencl_device_index> <warn_bad_cuda>0</warn_bad_cuda> </intel_gpu_opencl> <warning>No NVIDIA library found</warning> <warning>No ATI library found.</warning> </coprocs> laptop with iGPU This XML file does not appear to have any style information associated with it. The document tree is shown below. <coprocs> <have_cuda>1</have_cuda> <cuda_version>12040</cuda_version> <coproc_cuda> <count>1</count> <name>NVIDIA GeForce GTX 1060 with Max-Q Design</name> <available_ram>3634364415.000000</available_ram> <have_cuda>1</have_cuda> <have_opencl>0</have_opencl> <peak_flops>3434240000000.000000</peak_flops> <cudaVersion>12040</cudaVersion> <drvVersion>55123</drvVersion> <totalGlobalMem>4294967295.000000</totalGlobalMem> <sharedMemPerBlock>49152.000000</sharedMemPerBlock> <regsPerBlock>65536</regsPerBlock> <warpSize>32</warpSize> <memPitch>2147483647.000000</memPitch> <maxThreadsPerBlock>1024</maxThreadsPerBlock> <maxThreadsDim>1024 1024 64</maxThreadsDim> <maxGridSize>2147483647 65535 65535</maxGridSize> <clockRate>1341500</clockRate> <totalConstMem>65536.000000</totalConstMem> <major>6</major> <minor>1</minor> <textureAlignment>512.000000</textureAlignment> <deviceOverlap>1</deviceOverlap> <multiProcessorCount>10</multiProcessorCount> <pci_info> <bus_id>1</bus_id> <device_id>0</device_id> <domain_id>0</domain_id> </pci_info> </coproc_cuda> <coproc_intel_gpu> <count>0</count> <name>Intel(R) HD Graphics 630</name> <available_ram>6826713088.000000</available_ram> <have_opencl>0</have_opencl> <peak_flops>211200000000.000000</peak_flops> <version>31.0.101.2125</version> </coproc_intel_gpu> <nvidia_opencl> <name>NVIDIA GeForce GTX 1060 with Max-Q Design</name> <vendor>NVIDIA Corporation</vendor> <vendor_id>4318</vendor_id> <available>1</available> <half_fp_config>0</half_fp_config> <single_fp_config>191</single_fp_config> <double_fp_config>63</double_fp_config> <endian_little>1</endian_little> <execution_capabilities>1</execution_capabilities> <extensions>cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_fp64 cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll cl_nv_d3d10_sharing cl_khr_d3d10_sharing cl_nv_d3d11_sharing cl_nv_copy_opts cl_nv_create_buffer cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_device_uuid cl_khr_pci_bus_info cl_khr_external_semaphore cl_khr_external_memory cl_khr_external_semaphore_win32 cl_khr_external_memory_win32</extensions> <global_mem_size>6442319872</global_mem_size> <local_mem_size>49152</local_mem_size> <max_clock_frequency>1341</max_clock_frequency> <max_compute_units>10</max_compute_units> <nv_compute_capability_major>6</nv_compute_capability_major> <nv_compute_capability_minor>1</nv_compute_capability_minor> <amd_simd_per_compute_unit>0</amd_simd_per_compute_unit> <amd_simd_width>0</amd_simd_width> <amd_simd_instruction_width>0</amd_simd_instruction_width> <opencl_platform_version>OpenCL 3.0 CUDA 12.4.74</opencl_platform_version> <opencl_device_version>OpenCL 3.0 CUDA</opencl_device_version> <opencl_driver_version>551.23</opencl_driver_version> <device_num>0</device_num> <peak_flops>3434240000000.000000</peak_flops> <opencl_available_ram>3634364415.000000</opencl_available_ram> <opencl_device_index>0</opencl_device_index> <warn_bad_cuda>0</warn_bad_cuda> </nvidia_opencl> <intel_gpu_opencl> <name>Intel(R) HD Graphics 630</name> <vendor>Intel(R) Corporation</vendor> <vendor_id>32902</vendor_id> <available>1</available> <half_fp_config>63</half_fp_config> <single_fp_config>191</single_fp_config> <double_fp_config>63</double_fp_config> <endian_little>1</endian_little> <execution_capabilities>1</execution_capabilities> <extensions>cl_khr_byte_addressable_store cl_khr_fp16 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_intel_command_queue_families cl_intel_subgroups cl_intel_required_subgroup_size cl_intel_subgroups_short cl_khr_spir cl_intel_accelerator cl_intel_driver_diagnostics cl_khr_priority_hints cl_khr_throttle_hints cl_khr_create_command_queue cl_intel_subgroups_char cl_intel_subgroups_long cl_khr_il_program cl_intel_mem_force_host_memory cl_khr_subgroup_extended_types cl_khr_subgroup_non_uniform_vote cl_khr_subgroup_ballot cl_khr_subgroup_non_uniform_arithmetic cl_khr_subgroup_shuffle cl_khr_subgroup_shuffle_relative cl_khr_subgroup_clustered_reduce cl_intel_device_attribute_query cl_khr_suggested_local_work_size cl_intel_split_work_group_barrier cl_khr_fp64 cl_khr_subgroups cl_intel_spirv_device_side_avc_motion_estimation cl_intel_spirv_media_block_io cl_intel_spirv_subgroups cl_khr_spirv_no_integer_wrap_decoration cl_intel_unified_shared_memory cl_khr_mipmap_image cl_khr_mipmap_image_writes cl_intel_planar_yuv cl_intel_packed_yuv cl_intel_motion_estimation cl_intel_device_side_avc_motion_estimation cl_intel_advanced_motion_estimation cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_image2d_from_buffer cl_khr_depth_images cl_khr_3d_image_writes cl_intel_media_block_io cl_khr_gl_sharing cl_khr_gl_depth_images cl_khr_gl_event cl_khr_gl_msaa_sharing cl_intel_dx9_media_sharing cl_khr_dx9_media_sharing cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_intel_d3d11_nv12_media_sharing cl_intel_sharing_format_query cl_khr_pci_bus_info cl_intel_simultaneous_sharing </extensions> <global_mem_size>6826713088</global_mem_size> <local_mem_size>65536</local_mem_size> <max_clock_frequency>1100</max_clock_frequency> <max_compute_units>24</max_compute_units> <nv_compute_capability_major>0</nv_compute_capability_major> <nv_compute_capability_minor>0</nv_compute_capability_minor> <amd_simd_per_compute_unit>0</amd_simd_per_compute_unit> <amd_simd_width>0</amd_simd_width> <amd_simd_instruction_width>0</amd_simd_instruction_width> <opencl_platform_version>OpenCL 3.0 </opencl_platform_version> <opencl_device_version>OpenCL 3.0 NEO </opencl_device_version> <opencl_driver_version>31.0.101.2125</opencl_driver_version> <device_num>0</device_num> <peak_flops>211200000000.000000</peak_flops> <opencl_available_ram>6826713088.000000</opencl_available_ram> <opencl_device_index>0</opencl_device_index> <warn_bad_cuda>0</warn_bad_cuda> </intel_gpu_opencl> <warning>NVIDIA library reports 1 GPU</warning> <warning>No ATI library found.</warning> </coprocs> |
[AF>EDLS]zOU Send message Joined: 2 May 17 Posts: 18 Credit: 430,165,581 RAC: 359 |
Hopefuly this helps; <plan_class> <name>opencl_intel_gpu_intelarc</name> <gpu_type>intel</gpu_type> <opencl/> <min_core_client_version>70000</min_core_client_version> <min_opencl_version>300<min_opencl_version> <host_summary_regex> Intel\(R\) Arc </host_summary_regex> <min_gpu_ram_mb>256</min_gpu_ram_mb> <gpu_ram_used_mb>256</gpu_ram_used_mb> <cpu_frac>0.01</cpu_frac> <gpu_peak_flops_scale>0.22</gpu_peak_flops_scale> </plan_class> |
Sergei Chernykh Project administrator Project developer Send message Joined: 5 Jan 17 Posts: 534 Credit: 72,451,573 RAC: 0 |
Thanks! I will try to remove the "Intel bad" check from my code tomorrow, and use the similar config. |
Sergei Chernykh Project administrator Project developer Send message Joined: 5 Jan 17 Posts: 534 Credit: 72,451,573 RAC: 0 |
I have enabled Intel ARC GPUs with the new GPU application version (3.07). If you have GPU tasks enabled on your end, you should be getting tasks now. |
[AF>EDLS]zOU Send message Joined: 2 May 17 Posts: 18 Credit: 430,165,581 RAC: 359 |
Thank you i get the following; ARC A750 I've reset the project and I still get the same message There's no "use Intel GPU" on the preference page; https://sech.me/boinc/Amicable/prefs.php?subset=project https://sech.me/boinc/Amicable/show_host_detail.php?hostid=224122 |
Sergei Chernykh Project administrator Project developer Send message Joined: 5 Jan 17 Posts: 534 Credit: 72,451,573 RAC: 0 |
I entered the wrong name for Intel GPUs in the plan class, it should be fixed now. |
[AF>EDLS]zOU Send message Joined: 2 May 17 Posts: 18 Credit: 430,165,581 RAC: 359 |
I've reset the project but still get the same error. Some info from the Primegrid Dev; SRBase plan_class_spec.xml the important line you need to avoid IntelGPU HD <host_summary_regex> Intel(R) Arc </host_summary_regex> <plan_class> <name>opencl_intel_gpu_intelarc</name> <gpu_type>intel</gpu_type> <opencl/> <min_core_client_version>70000</min_core_client_version> <min_opencl_version>300</min_opencl_version> <host_summary_regex> Intel(R) Arc </host_summary_regex> <min_gpu_ram_mb>256</min_gpu_ram_mb> <gpu_ram_used_mb>256</gpu_ram_used_mb> <cpu_frac>0.01</cpu_frac> <gpu_peak_flops_scale>0.22</gpu_peak_flops_scale> </plan_class> They need an app with opencl_intel_gpu_intelarc or perhaps change it to opencl_intel_gpu plan_class |
Sergei Chernykh Project administrator Project developer Send message Joined: 5 Jan 17 Posts: 534 Credit: 72,451,573 RAC: 0 |
I've changed the plan class to: <plan_class> <name>opencl_intel_gpu</name> <opencl/> <gpu_type>intel</gpu_type> <host_summary_regex>Arc</host_summary_regex> <min_gpu_ram_mb>800</min_gpu_ram_mb> <gpu_ram_used_mb>800</gpu_ram_used_mb> <cpu_frac>0.0001</cpu_frac> </plan_class> This regex is very simple and it should match your host. |
[AF>EDLS]zOU Send message Joined: 2 May 17 Posts: 18 Credit: 430,165,581 RAC: 359 |
Thank you, I'll check in a few minutes. I saw you updated the preference page, thank you. Should I reset the project before attempting to get new tasks ? I've set to no cache so it should look for work pretty regularly |
[AF>EDLS]zOU Send message Joined: 2 May 17 Posts: 18 Credit: 430,165,581 RAC: 359 |
the primegrid Devs have confirmed your plan_class should work.. however, I still have the same message; Not requesting tasks: don't need (CPU: job cache full; Intel GPU: GPUs not usable) I had reset the project before to make sure I got new config files, and use Intel GPU is selected in my preferences |
Message boards : Number crunching : Intel ARC support ?
©2024 Sergei Chernykh