title: Is it possible to high performance computing by Golang and CUDA?
body: <p>I've googled for a while and the only useful infos are:</p>
  
  <ul>
  <li>github.com/barnex/cuda5</li>
  <li>mumax.github.io/</li>
  </ul>
  
  <p>Unfortunately, the latest Arch Linux only provides CUDA 7.5 package, so the barnex's project may be not supported.</p>
  
  <p><a href="https://archive.fosdem.org/2014/schedule/event/hpc_devroom_go/" rel="noreferrer">Arne Vansteenkiste</a> recommends concurrency rather than pure Golang or Golang plus CUDA. What's more, <a href="https://groups.google.com/forum/#!topic/golang-nuts/8OJ6etdl6WY" rel="noreferrer">there's someone</a> says the same idea that "Wouldn't it be cool to start a goroutine on a GPU and communicate with it via channels?". I think both of these ideas are wonderful since I would like to change the existing code as little as possible instead of refactoring the whole program. Is the idea possible, or is there some documents introducing this topic in details?</p>
  
  <p><strong>Update</strong></p>
  
  <p>It seems that there's two bindings to HPC in Golang:</p>
  
  <ul>
  <li>CUDA (&lt; 6.0): github.com/barnex/cuda5</li>
  <li>OpenCL: github.com/rainliu/gocl</li>
  </ul>
  
  <p>Both of them are less documented, currently what I got is only <a href="https://stackoverflow.com/questions/22866901/using-java-with-nvidia-gpus-cuda/22868938#22868938">Macro13's answer</a>, very helpful, but it's more about java . So please help me some detailed materials in Golang. Thanks!</p>