title: GPU Programming, CUDA or OpenCL?
body: <p>I am a newbie to GPU programming. I have a laptop with NVIDIA GeForce GT 640 card. I am faced with 2 dilemmas, suggestions are most welcome.</p>
  
  <ol>
  <li><p><strong>If I go for CUDA -- Ubuntu or Windows</strong> Clearly CUDA is more suitable to windows while it can be a severe issue to install on Ubuntu. I have seen some blogposts which claim to have installed CUDA 5 on <a href="http://www.r-tutor.com/gpu-computing/cuda-installation/cuda5.0-ubuntu" rel="noreferrer">Ubuntu 11.10</a> and <a href="http://sn0v.wordpress.com/2012/12/07/installing-cuda-5-on-ubuntu-12-04/" rel="noreferrer">Ubuntu 12.04</a>. However, I have not been able to get them to work. Also, <a href="https://rads.stackoverflow.com/amzn/click/com/0131387685" rel="noreferrer" rel="nofollow noreferrer">standard CUDA textbooks</a> prefer to work in the windows domain and are more or less silent in concern with Unix/Ubuntu installation and working.</p></li>
  <li><p><strong><a href="http://wiki.tiker.net/CudaVsOpenCL" rel="noreferrer">CUDA or OpenCL</a></strong> -- Now this is probably more trickier than my first question ! I have mostly come across GPGPU projects using CUDA/Nvidia but OpenCL is probably is the next best option in open source and installing in Ubuntu probably will not be an issue, though some suggestions here will be most useful. Am I sacrificing any functionality if I go for OpenCL and NOT CUDA ? </p></li>
  </ol>
  
  <p>Any help or suggestions ? </p>