====== OpenCL ====== Le librerie OpenCL (Open Computing Language) possono essere utilizzate con gli acceleratori, quindi sia con le GPU che con gli Xeon Phi. Nell'infrastruttura R&D sono disponibili due implementazioni di OpenCL: * Intel OpenCL * NVIDIA CUDA OpenCL A seconda del device che si intende utilizzare, occorre caricare il modulo corrispondente. Quindi, prima di utilizzare OpenCL con le GPU: $ module load cuda-5.5 Prima di usare OpenCL con gli Xeon Phi: $ module load ips-xe-2013 intel-opencl ===== Esempi ===== Per testare il funzionamento di OpenCL si possono utilizzare alcune semplici programmi test. Uno di questi è GEMM. $ module load profile $ cd $SCRATCH $ wget http://software.intel.com/sites/default/files/article/391208/gemm-sample.tar.gz $ tar xzf gemm-sample.tar.gz $ cd GEMM Per compilare ed eseguire il sample su piattaforma Intel: $ module load ips-xe-2013 intel-opencl $ make $ ./gemm Il sample troverà quindi due tipi di device compatibili: il processore dell'host e l'acceleratore Xeon Phi. Scegliere il tipo device con $ ./gemm -d 0 $ ./gemm -d 1 Per compilare il sample per le GPU NVIDIA: $ module load cuda-5.5 $ make $ ./gemm