ELEKTRONN / ELEKTRONN2

A highly configurable toolkit for training 3D/2D CNNs and general Neural Networks, based on Theano
Other
7 stars 8 forks source link

[WIP] Switch to Theano's new gpuarray backend #9

Closed mdraw closed 6 years ago

mdraw commented 7 years ago

Implement #4: Remove support for the old CUDA backend and switch to the new abstract gpuarray-based one, which supports CPU, CUDA and (theoretically) OpenCL.

The --gpu option of elektronn2-train expects different device specifiers now. Instead of 0, 1, ... you now write cuda0, cuda1, ... [Edit: 0, 1, ... are still valid - raw numbers are automatically prefixed with "cuda" now by initgpu()]. OpenCL doesn't seem to work at all yet, but you can try out --gpu=opencl0:0 if you like reading long cryptic error messages. (If someone gets this to work though, please tell me!)

Problematically, this branch introduces two new dependencies (libgpuarray and pygpu) which currently can't be installed with pip and are not packaged in any major distro (AUR packages are broken as of 2017-06-01). See here for instructions for conda and manual installation.

This branch is not ready for merging yet. It is just there to track progress. I'll merge it once there is a clear benefit and it has been thoroughly tested (perhaps for 0.2.0).