Boinc und IvyBridge (OpenCL) Baustelle

Brauchen wir eigentlich Intel OpenCL Support in Boinc

  • Ja klar - so auch mit rechnen

    Stimmen: 38 86,4%
  • Nee - dafür rechnen doch die AMD/nVIDIA GPUs

    Stimmen: 5 11,4%
  • Nenn ich im Fred

    Stimmen: 1 2,3%

  • Anzahl der Umfrageteilnehmer
    44

Crashtest

Redaktion
☆☆☆☆☆☆
Mitglied seit
11.11.2008
Beiträge
9.274
Renomée
1.406
Standort
Leipzig
  • Docking@Home
  • BOINC Pentathlon 2011
  • BOINC Pentathlon 2012
  • BOINC Pentathlon 2013
  • BOINC Pentathlon 2014
  • BOINC Pentathlon 2015
  • BOINC Pentathlon 2016
  • BOINC Pentathlon 2017
  • BOINC Pentathlon 2018
  • BOINC Pentathlon 2019
  • BOINC Pentathlon 2020
  • THOR Challenge 2020
  • BOINC Pentathlon 2021
  • BOINC Pentathlon 2022
  • BOINC Pentathlon 2023
Intels Ivy Bridge CPU sollen ja dem Grunde nach ein OpenCL fähigen Grafikteil besitzen *noahnung*, damit könnten die Intel-Grafik-Einheiten ja auch bei BOINC mit machen ... nur gäbe es da ein zwei Probleme:

1. BOINC erkennt derzeit nur ATI/AMD und nVIDIA OpenCL Grafikgeräte
2. Die Projekte kennen halt auch nur opencl_ati und opencl_nvidia

Um die Leistung eines Ivy Bridges mit einem Llano oder Trinity vergleichen zu können, wäre aber auch die Verwendung in Boinc "hilfreich".


Die erste Baustelle - BOINC Core
Boinc erkennt derzeit nur das, was in der coproc_detect.cpp steht - und da fehlt Intel


Was ist OpenCL ?
OpenCL ist eine offene API mit der man Grafikkarten, CPU und andere Co-Prozessoren ansprechen kann und diese bei Berechnungen einsetzen kann.

Unter Windows sind Programme die OpenCL verwenden wollen/sollen gegen opencl.dll gelinkt, sodass beim Aufruf des Programms folgendes passiert

OpenCL.dll (von Khronos) wird geladen und gestartet, diese API sucht nach OpenCL ICDs (ICD = Installable Client Driver) in der Registry (unter HKLM\SOFTWARE\Khronos\OpenCL\Vendors )

AMDs/ATIs ICD ist zB "amdocl64.dll" Intels ICD ist "IntelOpenCL64.dll" bzw. "IntelOpenCL32.dll"

Diese ICDs stellen erst den Zugriff auf die entsprechenden Geräte bereit.

Info - AMDs OpenCL ICD ist für AMD/ATI GPUs ab Radeon HD 2xxx und auch für CPUs mit SSE2 (auch Intel!)

Es können auch mehre ICDs auf einem System installiert sein, etwa der nVIDIA ICD für eine CUDA-GPU und der AMD ICD für eine CPU

Wer kann helfen ?

Jeder der eine (oder mehr) Intel Ivy Bridge CPUs hat
Windows drauf laufen lässt, mit aktuellen Intel Grafik Treiber und folgendes kleine Tool in der CMD läufen lässt


Wie es geht:
Tool laden und entpacken
CMD starten und in den Ordner wohin entpackt wurde wechseln
clinfo > ivytest.txt
eingeben

den Inhalt posten

Sofern wir genügend Info sammeln, können die BOINC-Entwickler auch eine OpenCL-Struktur für Intel mit einbauen, sodass Boinc auch die Intel GPU erkennt.

Damit wäre die 1. Baustelle bereits behoben ...

später mehr
 
Zuletzt bearbeitet:
Im "aktuellen" Treiber ist auch das SDK mit dabei nebst OpenCL ICD - dennoch muss dessen Erkennung erst einmal in Boinc eingebaut werden und dazu braucht man die "Infos" wie sich die Intel "APU" (oder wie Intel CPU+GPU+MC auf einem DIE nennt) outet.

Dazu bräuchte man das, was clinfo ausgibt ...



Aufruf an alle die ein Ivy Bridge haben und der Meinung sind, diese Intel-Grafik-Dinger sollen auch bei Boinc mitarbeiten :

bitte dass, was clinfo ausgibt hier posten.

Wenn genügend dies gemacht haben, kann dies an Rom Walton und David Anderson von Boinc gesandt werden, und die bauen dann die Erkennung mit in Boinc ein, sodass ab Boinc 7.0.27 oder so Boinc auch die Intel OpenCL Grafik verwenden kann.

Dann müssen die jeweiligen Projekte nur noch passende Apps basteln, etwa die Collatz-CL-App neukompilieren ...
 
Zuletzt bearbeitet:
Ich hab mal "nenn ich im Fred" gedrückt:

Grund: Wenn ich mich recht erinnere, dann liefen die OpenCL-Intel Teile nur auf CPUs, hat sich das mittlerweile geändert?

Wenn nicht wärs ziemlich doof sich Arbeit zu machen, denn ein OpenCL@CPU läuft bestimmt nicht schneller, als wenn man die normalen x86-Apps der Projekte laufen lässt.

Aber naja, IvyB kann ja jetzt DX11, langsam sollte da mal was funktionieren^^
 
Es geht hier speziell um Ivy Bridge, sprich um 3rd generation Intel® Core processors with Intel® HD Graphics 4000/2500
 
@Alex
Schau dir den Link zum SDK der Intel® HD Graphics 4000/2500 an:
The Intel® SDK for OpenCL* Applications now supports the OpenCL* 1.1 full-profile on 3rd generation Intel® Core™ processors with Intel® HD Graphics 4000/2500. For the first time, OpenCL* developers using Intel® architecture can utilize compute resources across both Intel® Processor and Intel HD Graphics. OpenCL* is seamlessly supported by the Intel® Graphics Drivers.
 
@Twodee: Cool, Danke, dann wechsle ich meine Stimme nachträglich auf "ja" ^^
 
Nun bräuchte ich blos noch dass, was clinfo ausspuckt für den Intel OpenCL-ICD .... idealerweise mehrfach;

es sollte auch ein clinfo-tool für Linux & Co geben aber *noahnung*

im aktuellen Windows Treiber von Intel umfasst der OpenCL ICD ganze 32MB für x64 und 28MB für x86 - so was nenn ich "fett"
 
oh man eh - bisher wollen zwar (fast) alle, die bisher abgestimmt haben, dass auch der GPU-Teil eines Ivy bei Boinc mitmachen darf, aber keiner hat bisher die clinfo Ausgaben gepostet ...:-/


Dass, was gebraucht wird, sieht in etwa so aus (nur halt mit Intel Zeuch)

Number of platforms: 1
Platform Profile: FULL_PROFILE
Platform Version: OpenCL 1.1 AMD-APP (851.4)
Platform Name: AMD Accelerated Parallel Processing
Platform Vendor: Advanced Micro Devices, Inc.
Platform Extensions: cl_khr_icd cl_amd_event_callback cl_amd_offline_devices


Platform Name: AMD Accelerated Parallel Processing
Number of devices: 1
Device Type: CL_DEVICE_TYPE_CPU
Device ID: 4098
Board name:
Max compute units: 1
Max work items dimensions: 3
Max work items[0]: 1024
Max work items[1]: 1024
Max work items[2]: 1024
Max work group size: 1024
Preferred vector width char: 16
Preferred vector width short: 8
Preferred vector width int: 4
Preferred vector width long: 2
Preferred vector width float: 4
Preferred vector width double: 0
Native vector width char: 16
Native vector width short: 8
Native vector width int: 4
Native vector width long: 2
Native vector width float: 4
Native vector width double: 0
Max clock frequency: 1795Mhz
Address bits: 32
Max memory allocation: 804241408
Image support: Yes
Max number of images read arguments: 128
Max number of images write arguments: 8
Max image 2D width: 8192
Max image 2D height: 8192
Max image 3D width: 2048
Max image 3D height: 2048
Max image 3D depth: 2048
Max samplers within kernel: 16
Max size of kernel argument: 4096
Alignment (bits) of base address: 1024
Minimum alignment (bytes) for any datatype: 128
Single precision floating point capability
Denorms: Yes
Quiet NaNs: Yes
Round to nearest even: Yes
Round to zero: Yes
Round to +ve and infinity: Yes
IEEE754-2008 fused multiply-add: Yes
Cache type: Read/Write
Cache line size: 64
Cache size: 65536
Global memory size: 804241408
Constant buffer size: 65536
Max number of constant args: 8
Local memory type: Global
Local memory size: 32768
Kernel Preferred work group size multiple: 1
Error correction support: 0
Unified memory for Host and Device: 1
Profiling timer resolution: 279
Device endianess: Little
Available: Yes
Compiler available: Yes
Execution capabilities:
Execute OpenCL kernels: Yes
Execute native function: Yes
Queue properties:
Out-of-Order: No
Profiling : Yes
Platform ID: 0116A4F4
Name: Mobile AMD Athlon(tm) 64 Processor 2800+
Vendor: AuthenticAMD
Device OpenCL C version: OpenCL C 1.1
Driver version: 2.0
Profile: FULL_PROFILE
Version: OpenCL 1.1 AMD-APP (851.4)
Extensions: cl_khr_fp64 cl_amd_fp64 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_byte_addressable_store cl_khr_gl_sharing cl_ext_device_fission cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_popcnt
 
Ich vermute mal es hat noch keiner einen Ivy. Ich werd mir erst in 2 Wochen frühestens einen zulegen.
 
Uah, den Thread vor kurzem gelesen, vergessen, Ivy Bridge seit Donnerstag am werkeln, Thread jetzt wieder gesehen.

Alla, hier die Infos von einem i7-3770k mit HD4000.
 
Danke erst mal - aber es sieht nicht gut aus:

Number of platforms: 1
Platform Profile: FULL_PROFILE
Platform Version: OpenCL 1.1
Platform Name: Intel(R) OpenCL
Platform Vendor: Intel(R) Corporation
Platform Extensions: cl_khr_fp64 cl_khr_icd 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_byte_addressable_store cl_intel_printf cl_ext_device_fission cl_intel_exec_by_local_thread cl_khr_gl_sharing cl_intel_dx9_media_sharing


Platform Name: Intel(R) OpenCL
Number of devices: 1
Device Type: CL_DEVICE_TYPE_CPU
Device ID: 32902
Max compute units: 8
Max work items dimensions: 3
Max work items[0]: 1024
Max work items[1]: 1024
Max work items[2]: 1024
Max work group size: 1024
Preferred vector width char: 16
Preferred vector width short: 8
Preferred vector width int: 4
Preferred vector width long: 2
Preferred vector width float: 4
Preferred vector width double: 2
Max clock frequency: 3500Mhz
Address bits: 14757395255531667488
Max memory allocation: 536838144
Image support: Yes
Max number of images read arguments: 480
Max number of images write arguments: 480
Max image 2D width: 8192
Max image 2D height: 8192
Max image 3D width: 2048
Max image 3D height: 2048
Max image 3D depth: 2048
Max samplers within kernel: 480
Max size of kernel argument: 3840
Alignment (bits) of base address: 1024
Minimum alignment (bytes) for any datatype: 128
Single precision floating point capability
Denorms: Yes
Quiet NaNs: Yes
Round to nearest even: Yes
Round to zero: No
Round to +ve and infinity: No
IEEE754-2008 fused multiply-add: No
Cache type: Read/Write
Cache line size: 64
Cache size: 262144
Global memory size: 2147352576
Constant buffer size: 131072
Max number of constant args: 480
Local memory type: Global
Local memory size: 32768
Error correction support: 0
Profiling timer resolution: 293
Device endianess: Little
Available: Yes
Compiler available: Yes
Execution capabilities:
Execute OpenCL kernels: Yes
Execute native function: Yes
Queue properties:
Out-of-Order: Yes
Profiling : Yes
Platform ID: 00376C28
Name: Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz
Vendor: Intel(R) Corporation
Driver version: 1.1
Profile: FULL_PROFILE
Version: OpenCL 1.1 (Build 30316.30328)
Extensions: cl_khr_fp64 cl_khr_icd 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_byte_addressable_store cl_intel_printf cl_ext_device_fission cl_intel_exec_by_local_thread cl_khr_gl_sharing cl_intel_dx9_media_sharing

Was fehlt ist der CL_DEVICE_TYPE_GPU Datensatz ?!

Frage, welchen Treiber hast du drauf ?
 
Zuletzt bearbeitet:
Hab mich auch wg. CPU gewundert, aber in Deinem Beispiel in #9 steht auch nur CPU .. *noahnung*
 
Wie wäre es mit einem spoiler

Hier sollten mehr oder weniger allerbeste Daten sein

http://www.foro3d.com/archive/index.php/t-101636.html

In der Seite nach "Build 30316.30328" suchen
Klar ist nicht clinfo sondern GPU Chaos viewer...

Intel scheint da noch ein paar Bugs in threm SDI zu haben womit nicht immer die GPU ausgelesen werden kann, ausser es war nur ocl für CPU installiert.
 
Ah uh, mein Fehler, hatte das Tool über ne RDP Sitzung gestartet, hier nochmal direkt am Rechner! Ich hoffe das hilft weiter :D
 
Ich hatte da kein System zur Verfügung, welches neben CL_DEVICE_TYPE_CPU auch CL_DEVICE_TYPE_GPU ausspuckt ...

@OHN
Danke für den Link;
was hat Intel da schon wieder angestellt, dass es kein CL_DEVICE_TYPE_GPU Datensatz ausspuckt ??

@TheBloodyNine:
Danke - nu "passts" und schon versandt an David Anderson und Rom Walton ...
 
Zuletzt bearbeitet:
Es gibt ne Antwort von Mr. Anderson:

We'll work on this.
It may take a few weeks.
-- David

On 06-May-2012 8:21 PM, "Robert Kreß" wrote:
> Hi,
>
> some users from Planet3Dnow request an Intel GPU OpenCL Support for Boinc, since the new IvyBridge CPUs support GPU OpenCL too.
>
> Source (in German !)
> http://www.planet3dnow.de/vbulletin/showthread.php?t=404740
>
> I added an clinfo report from an Intel(R) Core(TM) i7-3770K with Intel(R) HD Graphics 4000.
>
> So could you please add an Intel OpenCL GPU Section to the coproc ?!
>
> Thanx
> [P3D] Crashtest
 
Es hat sehr lange gedauert - aber es geht los !!!!

Die Intel-Ivy-Dings-Besitzer können bald ihre iGPU für Boinc verwenden ;)

Changelog 25792:
- scheduler: add support for Intel GPUs, and restructure things
to make it easier to add other GPU types in the future

Es fehlt zwar noch dei Erkennung in der gpu_detect.cpp sowie die eingene gpu_intel.cpp aber der Anfang ist gemacht - die Scheduler Klasse wurde eingebaut ;)
 
Juhu, dann kann ich meine neue IvyBridge gleich mal ausprobieren
 
Nö du - da hast du was falsch verstanden !
Ivy kann noch kein OpenCL bei Boinc verwenden weil die Erkennung fehlt !

Es gibt noch keine gpu_intel.cpp im Sourcecode

Aber es wurden schonmal die Klasse Intel GPU definiert sodass die Erkennung relativ schnell eingebaut werden kann ;)

Sobald dies erfolgt ist - muss nur noch ein neues Compilat erstellt werden und dann kann getestet werden ;) - sofern sich ein Projekt findet was dieses Intel-Ding auch verwendet
 
Leider hat Intel OpenCL bisher keine echte Bedeutung sodass derzeit nix dafür gemacht wird - es gibt zwar ab und zu einige Posts aber bisher passiert nix,
 
Zurück
Oben Unten