![]() We consider the Octave C++ API to fall well under the domain of the GPL's copyleft. Note also that because the GPU libraries are not a system library as defined by the GPL (they are not shipped with the OS), you can't even distribute GPU-accelerated Octave object code. I know that nobody wants to even think that this problem exists and even fewer people want to fix Clover because it's such a difficult task, but it's a task that we can't ignore. ![]() ![]() Indeed, it is this very freedom that nvidia is abusing here to accelerate Octave's BLAS libraries, a task that would be much more difficult with Matlab, where they don't have the source code. If we don't emphasise software freedom, then there is no need for Octave, since we already have Matlab. This works against Octave's goal, to provide a free alternative to Matlab, one that lets you understand and control your computations down to the hardware level. Running to tie Octave to flashy features like GPU acceleration without first pausing to fix the initial problem of non-free GPU acceleration is putting the horse before the cart. GNU's purpose is to ensure that you can use free software. I think I've heard of some free CUDA implementations that were in similar embryonic stages. There is no OpenCL free implementation that I know of either, except Clover, but it currently merely translates the OpenCL to run on the CPU instead of the GPU. Sigh, I wish people would address the problem here that nvidia's CUDA runtime is non-free.
0 Comments
Leave a Reply. |