From mboxrd@z Thu Jan 1 00:00:00 1970 From: Fis Trivial Subject: Have GPGPU support in guix? Date: Tue, 24 Apr 2018 23:22:25 +0000 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:57052) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fB7Gb-0008Px-CA for guix-devel@gnu.org; Tue, 24 Apr 2018 19:22:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fB7GW-0005Qt-TZ for guix-devel@gnu.org; Tue, 24 Apr 2018 19:22:33 -0400 Received: from mail-oln040092001076.outbound.protection.outlook.com ([40.92.1.76]:19136 helo=NAM01-BY2-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fB7GW-0005Q5-Fh for guix-devel@gnu.org; Tue, 24 Apr 2018 19:22:28 -0400 Content-Language: en-US List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel 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.