{"id":2939,"date":"2018-02-01T16:14:10","date_gmt":"2018-02-01T16:14:10","guid":{"rendered":"http:\/\/www.colorwave.it\/blog\/?p=2939"},"modified":"2020-08-11T08:41:40","modified_gmt":"2020-08-11T08:41:40","slug":"driver-opencl","status":"publish","type":"post","link":"https:\/\/www.colorwave.it\/blog\/howto\/driver-opencl\/admin\/2018\/02\/","title":{"rendered":"Installare i driver OpenCL"},"content":{"rendered":"<p>Il software Colibri sfrutta le potenza di calcolo disponibile sulle GPU; In questo articolo vengono fornite le modalit\u00e0 di installazione dei driver OpenCL per le GPU utilizzate dal software Colibri. OpenCL non \u00e8 utilizzabile solo sulle schede grafiche,\u00a0 pu\u00f2 gestire anche i processori Core di Intel, oltre a quelli di AMD.<\/p>\n<p>Inoltre sono disponibili diversi SDK, in particolare quelli NVIDIA,Intel e AMD, che mettono a disposizione diversi strumenti di sviluppo e debug dei programmi OpenCL.<\/p>\n<p>Si ricorda che per utilizzare OpenCL sul computer sul quale \u00e8 stato installato Colibr\u00ec, \u00e8 necessario installare anche il driver fornito dal produttore delle GPU, non necessariamente installato con la scheda grafica utilizzata;<\/p>\n<h5><strong>Come puoi individuare il driver OpenCL da installare?<\/strong><\/h5>\n<p>Quale driver sia necessario dipende dal sistema operativo e dalla natura dell&#8217;hardware: devi sapere se la tua scheda grafica \u00e8 stata prodotta da AMD o Nvidia. \u00c8 inoltre necessario conoscere il modello della scheda grafica, ad esempio una Radeon 5850 o una GTX 470.<\/p>\n<p>Per trovare queste informazioni, effettuare una delle seguenti operazioni:<\/p>\n<p><em><strong>Su Windows:<\/strong><\/em>\u00a0aprire il Pannello di controllo, aprire Gestione periferiche e aprire la voce per Schede video.<br \/>\nSe vedi qualcosa chiamato ATI, AMD o Radeon, la tua scheda grafica \u00e8 basata su AMD. Se vedi Nvidia, la tua scheda \u00e8 basata sull&#8217;hardware Nvidia.<br \/>\n<strong><em>Su un Mac:<\/em>\u00a0<\/strong>apri il menu Apple e seleziona la voce <em>Informazioni su questo Mac.<\/em> Fare clic sul pulsante Altre informazioni e fare clic su Grafica \/ Visualizzazioni nel riquadro sinistro. Ricorda il valore del campo intitolato Modello di chipset. Questo identificher\u00e0 la tua scheda grafica.<br \/>\nUna volta identificato il tuo hardware di destinazione, devi assicurarti che sia conforme a OpenCL:<\/p>\n<p><em><strong>Individuare le GPU NVIDIA:\u00a0<\/strong><\/em>Se hai installato l&#8217;hardware Nvidia, puoi verificarne la conformit\u00e0 su <a href=\"http:\/\/developer.nvidia.com\/cuda-gpus\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/developer.nvidia.com\/cuda-gpus<\/a>.<\/p>\n<p><em><strong>Individuare le GPU AMD:\u00a0<\/strong><\/em>Per l&#8217;hardware AMD, visitare la pagina web<a href=\"http:\/\/support.amd.com\/en-us\/download\/auto-detect-tool\" target=\"_blank\" rel=\"noopener noreferrer\">\u00a0http:\/\/developer.amd.com\/sdks\/AMDAPPSDK\/pages\/DriverCompatibility.aspx<\/a>\u00a0 ed effettuare il download del programma<a href=\"http:\/\/support.amd.com\/en-us\/download\/auto-detect-tool\" target=\"_blank\" rel=\"noopener noreferrer\">\u00a0<em>AMD Driver Autodetect;\u00a0<\/em><\/a> seguire le informazioni ottenuto ad esecuzione il programma<\/p>\n<p><em><strong>Individuare i driver per\u00a0 processori e schede grafiche intel:<\/strong><\/em> visitare la pagina web\u00a0\u00a0<a href=\"https:\/\/software.intel.com\/en-us\/articles\/opencl-drivers#latest_CPU_runtime\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/software.intel.com\/en-us\/articles\/opencl-drivers#latest_CPU_runtime<\/a>\u00a0 oppure\u00a0\u00a0<a href=\"https:\/\/software.intel.com\/en-us\/intel-opencl\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/software.intel.com\/en-us\/intel-opencl<\/a><\/p>\n<p><img decoding=\"async\" data-attachment-id=\"2949\" data-permalink=\"https:\/\/www.colorwave.it\/blog\/howto\/driver-opencl\/admin\/2018\/02\/attachment\/driver_opcl_scheme\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2018\/02\/driver_opcl_scheme.png?fit=232%2C309&amp;ssl=1\" data-orig-size=\"232,309\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"driver_opcl_scheme\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2018\/02\/driver_opcl_scheme.png?fit=225%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2018\/02\/driver_opcl_scheme.png?fit=232%2C309&amp;ssl=1\" tabindex=\"0\" role=\"button\" class=\"alignleft wp-image-2949\" src=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2018\/02\/driver_opcl_scheme.png?resize=172%2C229&#038;ssl=1\" alt=\"\" width=\"172\" height=\"229\" srcset=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2018\/02\/driver_opcl_scheme.png?w=232&amp;ssl=1 232w, https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2018\/02\/driver_opcl_scheme.png?resize=225%2C300&amp;ssl=1 225w\" sizes=\"(max-width: 172px) 100vw, 172px\" data-recalc-dims=\"1\" \/><\/p>\n<p><strong>Struttura dei driver OpenCL<\/strong>: per utilizzare OpenCL \u00e8 necessario installare due diverse DLL:\u00a0<em> OpenCL.dll\u00a0<\/em>\u00e8 la libreria di interfaccia fra l&#8217;applicazione (in questo caso Colibri) e l&#8217;ambiente OpenCL. La dll \u00e8 fornita nell&#8217;installazione di Colibri, e non \u00e8 necessario scaricarla a parte; La libreria \u00e8 comunque scaricabile dal <a href=\"https:\/\/www.khronos.org\/opencl\/\" target=\"_blank\" rel=\"noopener noreferrer\">sito di Khronos, il consorzio OpenCL<\/a>.\u00a0 Anche i produttori di hardware compatibile OpenCL forniscono OpenCL.dll.\u00a0 Inoltre, le piattaforme dei fornitori supportano l&#8217;estensione <em>cl_khr_icd<\/em>. Ci\u00f2 significa che forniscono una seconda libreria chiamata <span style=\"color: #800000;\"><em>driver client installabile, o ICD<\/em><\/span>.<\/p>\n<p><em><span style=\"color: #800000;\"> L&#8217;ICD<\/span><\/em> funge da interfaccia fra la libreria OpenCL.dll ed i dispositivi conformi a OpenCL. La Figura di fianco\u00a0 mostra questa relazione.<\/p>\n<p>In fase di esecuzione, l&#8217;applicazione deve essere in grado di accedere agli ICD. Su Windows, le librerie specifiche del fornitore sono identificate nel registro di sistema: Quando un SDK viene installato, accede alla chiave di registro<em><span style=\"color: #800000;\"> HKEY_LOCAL_MACHINE \\ SOFTWARE \\ Khronos \\ OpenCL \\ Vendors.<\/span><\/em><\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" data-attachment-id=\"2951\" data-permalink=\"https:\/\/www.colorwave.it\/blog\/howto\/driver-opencl\/admin\/2018\/02\/attachment\/khonos_register\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2018\/02\/khonos_register.png?fit=811%2C275&amp;ssl=1\" data-orig-size=\"811,275\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"khonos_register\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2018\/02\/khonos_register.png?fit=300%2C102&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2018\/02\/khonos_register.png?fit=640%2C217&amp;ssl=1\" tabindex=\"0\" role=\"button\" class=\"alignleft wp-image-2951\" src=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2018\/02\/khonos_register.png?resize=516%2C175&#038;ssl=1\" alt=\"\" width=\"516\" height=\"175\" srcset=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2018\/02\/khonos_register.png?w=811&amp;ssl=1 811w, https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2018\/02\/khonos_register.png?resize=300%2C102&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2018\/02\/khonos_register.png?resize=768%2C260&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2018\/02\/khonos_register.png?resize=600%2C203&amp;ssl=1 600w\" sizes=\"(max-width: 516px) 100vw, 516px\" data-recalc-dims=\"1\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><em><strong>Dove sono le librerie IDC?<\/strong> <\/em>Quando un&#8217;applicazione OpenCL viene eseguita, controlla i nomi ICD e carica i file della libreria corrispondenti quando sono necessari. Per questo motivo, le librerie ICD devono essere collocate in una posizione in cui il linker pu\u00f2 trovarle. Su Windows la posizione \u00e8<em><span style=\"color: #800000;\"> C:\\Windows\\system<\/span> <\/em>oppure<em><span style=\"color: #800000;\">\u00a0C:\\Windows\\system32.<\/span><\/em><\/p>\n<p><a href=\"https:\/\/www.geeks3d.com\/20181220\/how-to-enable-intel-opencl-support-on-windows-when-amd-radeon-graphics-driver-is-installed\/\"><img decoding=\"async\" data-attachment-id=\"2986\" data-permalink=\"https:\/\/www.colorwave.it\/blog\/howto\/gli-archivi-di-colibri\/admin\/2018\/02\/attachment\/info_quad\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2018\/02\/info_quad.png?fit=24%2C24&amp;ssl=1\" data-orig-size=\"24,24\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"info_quad\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2018\/02\/info_quad.png?fit=24%2C24&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2018\/02\/info_quad.png?fit=24%2C24&amp;ssl=1\" tabindex=\"0\" role=\"button\" class=\"size-full wp-image-2986 alignleft\" src=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2018\/02\/info_quad.png?resize=24%2C24&#038;ssl=1\" alt=\"\" width=\"24\" height=\"24\" data-recalc-dims=\"1\" \/> <em><strong>Nota<\/strong><\/em>: Ulteriori informazioni sono fornite da questo link..<\/a><\/p>\n<p>A questo punto dovresti sapere individuare come reperire i driver OpenCL.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><!--nextpage-->Questo paragrafo \u00e8 stato aggiunto il 30 marzo 2020, a seguito di un malfunzionamento riscontrato su una scheda NVIDIA GeForce 1060 3GB.<\/p>\n<p><em><strong>Da qualche giorno la scheda non era pi\u00f9 riconosciuta da OpenCL<\/strong><\/em>, e quindi non era pi\u00f9 utilizzabile dal software. Risalendo nella storia degli ultimi giorni, ho ricordato di avere effettuato pi\u00f9 aggiornamenti del sistema operativo Windows 10 e di avere aggiornato (automaticamente) i driver della scheda grafica, installando inoltre l&#8217;ambiente CUDA, allo scopo di studiarlo per un eventuale utilizzo in Colibri..<\/p>\n<p>Analizzando il registro HKEY_LOCAL_MACHINE \\ SOFTWARE \\ Khronos \\ OpenCL \\ Vendors mi sono accorto che era sparito il riferimento alla dll ICD della scheda. Quale sia stato il processo che ha rimosso il riferimento (aggiornamento windows o NVIDIA?) non mi \u00e8 noto. Comunque per ripristinarne l&#8217;uso in OpenCL ho individuato la posizione\u00a0 della dll ICD necessaria (nvopencl64.dll), che ho trovato nella cartella <span style=\"color: #0000ff;\"><em>C:\\Windows\\System32\\DriverStore\\FileRepository\\nv_dispi.inf_amd64_e0a5a1b06de180e3,<\/em><\/span> contenente l&#8217;ultima installazione del driver nvidia\u00a0 effettuata.<\/p>\n<p><span style=\"color: #800000;\"><span style=\"color: #0000ff;\"><span style=\"color: #000000;\"><strong>Come ho risolto il problema?<\/strong> <\/span><\/span><\/span><\/p>\n<ol>\n<li><span style=\"color: #800000;\"><span style=\"color: #0000ff;\"><span style=\"color: #000000;\">Ho semplicemente copiato la dll<em> <span style=\"color: #0000ff;\">nvopencl64.dll<\/span> <\/em>in <em><span style=\"color: #0000ff;\">c:windows\/system32<\/span><\/em><\/span><\/span><\/span><\/li>\n<li>Quindo ho aggiunto al registro<span style=\"color: #0000ff;\"><em> HKEY_LOCAL_MACHINE\\SOFTWARE\\Khronos\\OpenCL\\Vendors\u00a0<\/em><span style=\"color: #000000;\">il nome della dll, come si pu\u00f2 osservare nella schermata che segue:<img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"3884\" data-permalink=\"https:\/\/www.colorwave.it\/blog\/howto\/driver-opencl\/admin\/2018\/02\/attachment\/register_opencl\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2018\/02\/register_opencl.jpg?fit=344%2C311&amp;ssl=1\" data-orig-size=\"344,311\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"register_opencl\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2018\/02\/register_opencl.jpg?fit=300%2C271&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2018\/02\/register_opencl.jpg?fit=344%2C311&amp;ssl=1\" tabindex=\"0\" role=\"button\" class=\"size-full wp-image-3884 alignleft\" src=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2018\/02\/register_opencl.jpg?resize=344%2C311&#038;ssl=1\" alt=\"\" width=\"344\" height=\"311\" srcset=\"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2018\/02\/register_opencl.jpg?w=344&amp;ssl=1 344w, https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2018\/02\/register_opencl.jpg?resize=300%2C271&amp;ssl=1 300w\" sizes=\"(max-width: 344px) 100vw, 344px\" data-recalc-dims=\"1\" \/><\/span><\/span><\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.geeks3d.com\/20181220\/how-to-enable-intel-opencl-support-on-windows-when-amd-radeon-graphics-driver-is-installed\/\">Ulteriori informazioni possono essere fornite da questo link..\u00a0<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il software Colibri sfrutta le potenza di calcolo disponibile sulle GPU; In questo articolo vengono fornite le modalit\u00e0 di installazione dei driver OpenCL per le GPU utilizzate dal software Colibri. OpenCL non \u00e8 utilizzabile solo sulle schede grafiche,\u00a0 pu\u00f2 gestire anche i&#8230;<\/p>\n","protected":false},"author":1,"featured_media":2996,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"aside","meta":{"_acf_changed":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"footnotes":"","_jetpack_memberships_contains_paid_content":false,"jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[90,2,29,107],"tags":[],"jetpack_publicize_connections":[],"acf":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.colorwave.it\/blog\/wp-content\/uploads\/2018\/02\/cabras.jpg?fit=1000%2C500&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9rwsf-Lp","jetpack_likes_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/www.colorwave.it\/blog\/wp-json\/wp\/v2\/posts\/2939"}],"collection":[{"href":"https:\/\/www.colorwave.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.colorwave.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.colorwave.it\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.colorwave.it\/blog\/wp-json\/wp\/v2\/comments?post=2939"}],"version-history":[{"count":15,"href":"https:\/\/www.colorwave.it\/blog\/wp-json\/wp\/v2\/posts\/2939\/revisions"}],"predecessor-version":[{"id":3995,"href":"https:\/\/www.colorwave.it\/blog\/wp-json\/wp\/v2\/posts\/2939\/revisions\/3995"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.colorwave.it\/blog\/wp-json\/wp\/v2\/media\/2996"}],"wp:attachment":[{"href":"https:\/\/www.colorwave.it\/blog\/wp-json\/wp\/v2\/media?parent=2939"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.colorwave.it\/blog\/wp-json\/wp\/v2\/categories?post=2939"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.colorwave.it\/blog\/wp-json\/wp\/v2\/tags?post=2939"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}