">Why
      not target CUDA and/or support multiple back-ends?</a>
    </h4>
<p>
      CUDA and OpenCL are two very different technologies. OpenCL works by compiling
      C99 code at run-time to generate kernel objects which can then be executed
      on the GPU. CUDA, on the other hand, works by compiling its kernels using a
      special compiler (nvcc) which then produces binaries which can executed on
      the GPU.
    </p>
<p>
      OpenCL already has multiple implementations which allow it to be use