Fis Trivial
2018-04-24 23:22:25 UTC
Hi Guixs, this is actually a feature wish.
I tried to use guix to manage many of my softwares on my system, but
some dependencies are missing which is blocking a full transition to
Guix based system and development environment. Most notably is GPU
computing support.
My daily routine is doing machine learning, which requires GPU for
computing nowadays. Currently I need to use CUDA from NVidia, as many of
you might know, it's not free software, not even an open source
software. However, it's the de fato toolchain in deep learning
community, so basically it's a must have dependency for most of the
related libraries if you want decent performance. Time passes and
hardwork have been done, now we have some libraries ported to OpenCL or
HIP (from AMD), it's not mature yet but I think we have a pretty good
shot at working them out in near future.
However, I wanted to manage all of these with guix so that we can have a
unified dependency tree. Currently there are a few options for OpenCL
runtime. Namely, beignet, neo from Intel, ROCm stack from AMD, the POCL
project and the implementation in mesa.
I tried to package beignet (an old OpenCL runtime from Intel) but it
wasn't successful due to failed tests (it failed from recognizing
device).
https://github.com/trivialfis/guixpkgs/blob/master/opencl.scm
To support GPU computing, we need a full stack of softwares, from kernel
to user space libraries. When it comes to low level part I got have
litte to no knowledge, so I am hoping someone here can provide some
help/insight for having GPU computing libraries in Guix.
Thanks.
I tried to use guix to manage many of my softwares on my system, but
some dependencies are missing which is blocking a full transition to
Guix based system and development environment. Most notably is GPU
computing support.
My daily routine is doing machine learning, which requires GPU for
computing nowadays. Currently I need to use CUDA from NVidia, as many of
you might know, it's not free software, not even an open source
software. However, it's the de fato toolchain in deep learning
community, so basically it's a must have dependency for most of the
related libraries if you want decent performance. Time passes and
hardwork have been done, now we have some libraries ported to OpenCL or
HIP (from AMD), it's not mature yet but I think we have a pretty good
shot at working them out in near future.
However, I wanted to manage all of these with guix so that we can have a
unified dependency tree. Currently there are a few options for OpenCL
runtime. Namely, beignet, neo from Intel, ROCm stack from AMD, the POCL
project and the implementation in mesa.
I tried to package beignet (an old OpenCL runtime from Intel) but it
wasn't successful due to failed tests (it failed from recognizing
device).
https://github.com/trivialfis/guixpkgs/blob/master/opencl.scm
To support GPU computing, we need a full stack of softwares, from kernel
to user space libraries. When it comes to low level part I got have
litte to no knowledge, so I am hoping someone here can provide some
help/insight for having GPU computing libraries in Guix.
Thanks.