7 ms·
Almost all of the open source software in the area is permissive-licensed, and relies on non-free components (CUDA). To be honest, I'm not sure how Gneural pla
by semisight 11y ago
Almost all of the open source software in the area is permissive-licensed, and relies on non-free components (CUDA).
To be honest, I'm not sure how Gneural plans to compete with those packages without support from CUDA or cuDNN, all of which are distinctly not open source.
- albertzeyer 11y agoWrong, most do support OpenCL or at least have partial support. It's just much less supported because not so much people see too much benefit from it. Btw, it's all open source. If you miss some functionality, it's really easy to add.
- mindcrime 11y agoand relies on non-free components (CUDA). Yeah, this is one reason I'm really hoping some of the stuff AMD is pushing, in regards to openness around GPUs, gains traction. And why I am hoping OpenCL continues to improve so that it can be a viable option. Being dependent on nVidia for all time would blow.
- spdustin 11y agoI'd really like to understand the reasons behind the focus on CUDA and not OpenCL. My understanding is that nVidia and AMD made sure their hardware and software would make the GPU accessible for non-graphics tasks, but AMD's version is not functionally or legally locked to their hardware. Why hasn't OpenCL taken off and run on nVidia hardware? It seems like there must be more at play, but I'll admit a lack of insight and imagination on this one.
- revelation 11y agoBecause it requires nVidias cooperation in implementing OpenCL. And of course they are not about to do so in a useful manner when they are leading with CUDA. Also, the premise of OpenCL is somewhat faulty. You end up optimizing for particular architectures regardless.
- danieldk 11y agoIt seems like there must be more at play, but I'll admit a lack of insight and imagination on this one. I think the reasons are twofold: 1. CUDA had a big headstart over OpenCL. 2. NVIDIA has invested a lot in great libraries for scientific computing. E.g. for neural nets, they have made a library of primitives on top of CUDA for neural nets (cuDNN), which has been adopted by all the major packages.
- osense 11y agoI recall hearing that CUDA has much more mature tooling. Not only the already mentioned cuDNN, but the CUDA Toolkit [0] seems like a really comprehensive set of tools and libraries to help you with pretty much anything you might want to compute on a GPU. Also somewhat related: AMD seems to be moving towards supporting CUDA on its GPUs in the future: http://www.amd.com/en-us/press-releases/Pages/boltzmann-initiative-2015nov16.aspx http://www.amd.com/en-us/press-releases/Pages/boltzmann-init... [0] https://developer.nvidia.com/cuda-toolkit https://developer.nvidia.com/cuda-toolkit
- techdragon 11y agoOn closer inspection, it looks like AMD's CUDA support consists of "run these tools over your code and it will translate it so your code does not depend on CUDA"... Its sort of supporting CUDA, just like a car ferry sort of lets your car 'drive' across a large body of water.
- dharma1 11y agoPerformance. OpenCL has been 2-5x slower for ML than CUDA. Not sure of the exact reason but I think it's the highly optimised kernels which are not there with OpenCL, but are with CuDNN. I think it's mostly a software issue, compute capacity in theory should be more or less the same with equivalent AMD/NVidia cards. AMD should have invested much more heavily into ML, if they had, their share price would probably look a bit better than it does now. This looks interesting - running CUDA on any GPU. http://venturebeat.com/2016/03/09/otoy-breakthrough-lets-game-developers-run-the-best-graphics-software-across-platforms/ http://venturebeat.com/2016/03/09/otoy-breakthrough-lets-gam...
- jjawssd 11y agoGneural will compete with Theano sort of like how the GNU Hurd competes with Linux
- typon 11y agoIn other words, not at all
- mindcrime 11y agoThat's not necessarily relevant though. I'm sure the FSF would love to see Free Software replace all proprietary software, but in the end, the real point is that Free Software options are available to the people who want them. This isn't like a battle between commercial entities where market share is king and a project will be dropped if it isn't profitable. Gneural will be a success if a community forms around it and people work on it and use it, however small that community might be.
- niij 11y agoThe problem I have with it is that they could be contributing their brain power and time to other open source projects instead of recreating the wheel for very little benefit. Take my opinion with a grain of salt, as I consider the more restrictive Copyleft licensing as new /loss/ for society.
- teythoon 11y agoI know you're just trying to be funny, but I don't think it's funny at all. The Linux kernel undoubtedly many features that the Hurd system lacks, but that is due to the severe lack of manpower of the latter system and the billions of Dollars being poured into the former. On the other hand the Hurd has features that the Linux kernel can never hope to achieve because of its architecture.
- Aeolos 11y ago> The Linux kernel undoubtedly many features that the Hurd system lacks, but that is due to the severe lack of manpower of the latter system and the billions of Dollars being poured into the former. That's why GNU Hurd is essentially a dead project. Sadly it never attracted the attention and manpower necessary for it to survive. > On the other hand the Hurd has features that the Linux kernel can never hope to achieve because of its architecture. For example?
- danieldk 11y agoTo be honest, I'm not sure how Gneural plans to compete with those packages without support from CUDA or cuDNN, all of which are distinctly not open source. I don't see the point either. Gneural will probably never be better than Theano, Torch, Tensorflow, Caffe, et al., which are already open. If anything, time/resources are much better invested in contributing to a polished/competitive OpenCL backend to one of these packages.
- dharma1 11y agoCaffe has an OpenCL backend - https://github.com/BVLC/caffe/tree/opencl https://github.com/BVLC/caffe/tree/opencl
- deleted 11y ago[deleted]
- raverbashing 11y agoYeah, you don't depend on CUDA/cuDNN, but of course you can use them if you want it to be fast But the CPU fallback is there
- sseveran 11y agoIts going to need to use CUDA or it will not be competitive with alternatives. CUDA makes training networks more than an order of magnitude faster.
- mindcrime 11y agoBut that may or may not matter, depending on what you're doing. And how often you do it. If I have a network that I only retrain once a month, I can deal with it taking a day or two to train. Heck, it could take a week as far as that goes. OTOH, it obviously matters a lot if you're constantly iterating and training multiple times a day or whatever.
- frisco 11y agoFor state of the art work "a day or two" is pretty fast for a production network, and that's on one or more big GPUs. Not using CUDA is definitely a dealbreaker for any kind of real deep learning beyond the mnist tutorials. It's common to leave a Titan X to run over a weekend; that would be weeks on a CPU.
- mindcrime 11y agoWell not using CUDA isn't necessarily synonymous with "use a CPU". There is OpenCL. But still, you have a point even if we might quibble over details. This is why I am very much hoping AMD gets serious about Machine Learning and hoping for OpenCL on AMD chips will eventually reach a level of parity (or near parity) with the CUDA on nVidia stuff.
- sseveran 11y ago
- perfectfire 11y agoFANN is GNU licensed (LGPL 2.1), doesn't rely on non-free software, is written in C,so it's the same as Gneural in those regards. But it also is way more mature, has more features, compiles and runs on Linux, Windows and MacOS,and has bindings to 28 other languages.
- cwyers 11y agoWhy not focus on adding GPLed code to an existing package with a GPL-friendly license?
- SXX 11y agoFSF want to be copyright holder for all of it projects code so it's possible to relicense codebase under newer version of GPL. For same reason everyone contribute to their projects must sign CLA.
- gcr 11y agoIt's possible to run any of the "major" neural network toolkits (Caffe, Torch, Theano) on CPU-only systems. All of them are permissively licensed (to my knowledge). It will be prohibitively difficult to train the model without some kind of hardware assistance (CUDA). This means that if we're building an ImageNet object detector, even if the code implements the model correctly the first time, training it to have close-to-state-of-the-art accuracy will take several consecutive months of CPU time. Torch has rudimentary support for OpenCL, but it isn't there yet. There are very good pre-trained models that are licensed under academic-only licenses that also help fill the gap. (This is about as permissively as it could be licensed because the ImageNet training data itself is under an academic-only license anyway.) I'm not sure what niche this project fills. If you want an open-source neural network, you have several high-quality choices. If you need good models, you can either use any of the state-of-the-art academic only ones, or you would have to collect some dataset completely by yourself.
- _delirium 11y ago> This is about as permissively as it could be licensed because the ImageNet training data itself is under an academic-only license anyway. Does this necessarily follow, that a machine-learning model is a derived work of all data it's trained on? As far as I know, the law in this area isn't really settled. And many companies are operating on the assumption that this isn't the case. It would lead to some absurd conclusions in some cases, for example if you trained a model to recognize company logos, you'd need permission of the logos' owners to distribute it. (This is assuming traditional copyright law; under jurisdictions like the E.U. that recognize a separate "database right" it's another story.)
- gcr 11y agoI'm not aware of the formal legality of it, but I don't see why it wouldn't be the case. Without the training data, the model can't work. That seems to fit the definition of "derivative work".
- versteegen 11y ago
- cdibona 11y agoThe use of the gplv3 allows gnueral to have, as a dependency, any of the apache or permissive licensed tools like TF, torch, etc, and then through those tools 'export' their dependence on non-free components from nvidia and others. I don't think this is wrong, per se, but it is ...funny when the fsf portrays their work as morally superior to us horrible corporate permissive license lovers, while inexorably depending on non-free components. In an ideal world this project will be popular and will lead to someone on gnueral writing nvidia compatible drivers that will allow them to reject nvidia's, but I'm not optimistic. Not because of some incompetency on the Gnueral team, but nvidia's long history of making life very difficult for open driver writers.
- chei0aiV 11y agoDoes the FSF really depend on non-free components?