Repository navigation
OpenCL support #22
Description
Activity
- Reacted by Emilio Del Tessandoro, jerrypaytm, Junior Rojas, tiansheng li, Victor Vedovato, Riccardo Grazzi, Mahdi Dibaiee, Alex Staravoitau, joshreuben456, Alex Reynolds and 491 moreReacted by Lewe Ohlsen, ivan-panchenko, Artem Basalaev, hakim hassani, hiepxanh, Thomas M Kehrenberg, Arthur Peters and nicman23Reacted by Mikhail Fedosov, Foorack / Max Faxälv, Amitava Ray Chaudhuri, Yichao Zhou, Samuel John, Vic G, Zhong, Tsao, Anish Shah, Adrien Lemaire, BogusLogin and 244 moreReacted by pasikon, F3zz1k, Sarim Zafar, ruze, Ryang Sohn, drwggm, Ivan Talalaev, Guilhem Bernard, M.Erdem Külünk, Oliver Upton and 59 moreReacted by Dmitri Iourovitski, Lars Klein, Julian Tanke, Changsheng Wu, Bryan M. Li, dinozavyr, Vitalii Kozlovskyi, Shobhit Gupta, Alex Shepard, ; and 67 moreReacted by Mike Hoskins, Adam Cécile, Kha, planetguy32, An Long, Marcin Flis, Dendi Suhubdy, codeninja, MasonMcGill, Samuel Bishop and 37 more
At the very least, the Eigen library would have to support OpenCL.
Reacted by Dylan, Mac, Joseph Birkner, PALYGAP, 神楽坂帕琪, Ryang Sohn, Younes Rahimi, jwidderich, Viktar Patotski, Conrad Taylor and 13 moreReacted by Mehran Rahbardar👍
Reacted by Thomas Wood, Daniel Lopes, Amir H, Prakhar Shukla, Kado, azman0101, Alex Reynolds, beru, Vedran Lerenc, Jan Baudisch and 51 moreReacted by Flaviu Tamas👍
Reacted by gwario and Eric D MooreReacted by Flaviu Tamas and oldaccountdeadname👍
Reacted by Flaviu Tamas and oldaccountdeadnamethumbs up and all that.
Reacted by Aditya Deshpande, Maksim Mikhalkou, Ostap Tan, jwidderich, abrad1212, Benjamin Levy, Max O'Cull, gwario and Eric D MooreReacted by Flaviu TamasI will be interested in expanding Tensor Flow with OpenCL. As we have already released OpenCL caffe. https://github.com/amd/OpenCL-caffe. Hopefully it can get integrated in light way? Is anyone interested in working together on this?
Reacted by Mo Hossny, Zhong, Tsao, BogusLogin, fx-kirin, rohit-numato, Auro Tripathy, theshank, Ryein Goddard, Anton Marini, Guillermo Valle and 99 moreReacted by oldaccountdeadnameReacted by Samuel John, Zhong, Tsao, BogusLogin, rohit-numato, Ryein Goddard, marc j. schmidt, Val Packett, Stefano, Dmitri Iourovitski, Taras Boiko and 40 morewould be great.
Reacted by Flaviu Tamas👍
Reacted by Flaviu Tamas/cc @lukeiwanski for Eigen/OpenCL/SYCL
@gujunli Certainly would be interested in contributing. Please let me know when you plan to start.
Hi all,
Here at Codeplay we are looking into Eigen's tensor running on GPU using SYCL (a modern C++ layer on top of OpenCL). From what we have gathered so far, GPU tensor design is very closely coupled with CUDA and it will require interface changes for another programming model and particularly a SYCL and OpenCL 1.2 version.
If anyone is interested in digging deeper / helping out, we are most certainly interested in contributing.
Thanks,
LukeReacted by Mohiuddin Khan Inamdar, Levi, Wis, I-Must-Earn-Much-Money, wanglin18 and Sean@lukeiwanski Thank you for the feedback. I think that @benoitsteiner worked at the tensor extension part of eigen.
530 remaining items
Load more actionsYES THERE IS JUST LOOK AT THE LAST HANDFUL OF POSTS.
Reacted by FeepingCreatureReacted by edmondja and adityaReacted by FeepingCreature@filips123 no, there are no updates and will never be in any foreseeable future - probability of that is lower than of alien invasion and finding a way to travel back in time.
Reacted by mirh, edmondja and catreeThis intel initiative PlaidML works reasonably well, worth checking it out.
https://github.com/plaidml/plaidml
It runs on opencl OR metal on mac. It works with Macbook Pro AMD gpus, which is what I was looking for.
Meanwhile, could you guys help vote for Pytorch support in PlaidML? plaidml/plaidml#63Reacted by edmondjaPlaidML is certainly all nice and dandy (I, for one, somehow could get more performance on an nvidia gpu on opencl than with tf's cuda itself)..
But it's a backend for keras? In complete replacement to tensorflow, which you know, it's the repo we are discussing this in?
(for as much as I seem to understand latest tf versions can export models directly to keras? so there's that..)Anyway, for the fourth damn time, if you want a recent solution on opencl and something still being actively developed (and also the thing with the actual chances to be merged here for real one day), there's just codeplay stack.
Again:
https://developer.codeplay.com/computecppce/latest/tensorflow-overview
https://github.com/Rbiessy/tensorflow/tree/dev/amd_gpuReacted by edmondjaPlaidML is certainly all nice and dandy (I, for one, somehow could get more performance on an nvidia gpu on opencl than with tf's cuda itself)..
But it's a backend for keras? In complete replacement to tensorflow, which you know, it's the repo we are discussing this in?
(for as much as I seem to understand latest tf versions can export models directly to keras? so there's that..)Anyway, for the fourth damn time, if you want a recent solution on opencl and something still being actively developed (and also the thing with the actual chances to be merged here for real one day), there's just codeplay stack.
Again:
https://developer.codeplay.com/computecppce/latest/tensorflow-overview
https://github.com/Rbiessy/tensorflow/tree/dev/amd_gpuMy apologies, I had not realised there was no tensorflow support. My assuming brain thought that keras gpu support == tensorflow support.
plaidML is super cool. Works on keras.
Of course I had to transfer some tf code to pure keras in order to work on plaidML backend (for example tf.image.ssim)
But result - my code works on NVIDIA and AMD cards.Also plaidML is heaven for researchers. It automatically generates gradient for any function you will write on "Tile" language and it will work on your GPU with 80% speed of tensorflow.
So I cannot understand why ML researchers still using PyTorch ? Let's boost ML science with Intel's plaidML ?
Reacted by LifeIsStrangeReacted by LifeIsStrangeReacted by LifeIsStrange@iperov Care to know why practically no one uses PlaidML ?
-
It runs pitifully slow on AMD's OpenCL implementations compared to Tensorflow's CUDA backend so there goes at least half the reason to use it. Performance so bad that using Tensorflow with CPUs is competitive or even outright beats their hardware using PlaidML ?
-
Nobody is interested in maintaining their specialized Tile programming language in which only someone like a pure maths professor would concoct so PlaidML's code quality just goes down the drain and no serious programmers in their right mind would want to deal with overly clever code ...
-
This pretty much ties into OSX Yosemite "can't determine number of CPU cores: assuming 4" #2 but ever since Intel bought out Vertex.AI, they don't care about PlaidML anymore. Intel's solution for GPU compute accelerated machine learning is introducing a new compiler specifically for deep learning now known as nGraph to target Tensorflow, PyTorch or other deep learning frameworks as a backend for them. No reason for them to keep developing PlaidML anymore as their intermediary when they have nGraph ...
People use PyTorch for other reasons such as maintainability or other features so to sum it up PlaidML is Intel's tool and they probably don't intend for it to play in any role of the final parts of their plans. nGraph's current Intel GPU backend is based off of OpenCL 2.1 of which only Intel has a conformant implementation so Intel only exists to look out for themselves rather than purely for the betterment of machine learning. When Intel goes on to further developing nGraph, I can't see them continue basing off their GPU backend on OpenCL 2.1 alone since many deep learning frameworks have templated kernels which are not compatible with OpenCL, Metal or Vulkan's separate source programming models so it's probably only for experimentation purposes. Intel's final GPU backend is probably going to either be based off of SYCL 2.2 or something else entirely different like OpenMP and maybe they'll even bring a vendor specific solution ...
As for AMD, who cares ? OpenCL is irrelevant to them and they're finally showing some results with their work on HIP ...
Reacted by iperov and mirh-
@iperov Care to know why practically no one uses PlaidML ?
- It runs pitifully slow on AMD's OpenCL implementations compared to Tensorflow's CUDA backend so there goes at least half the reason to use it. Performance so bad that using Tensorflow with CPUs is competitive or even outright beats their hardware using PlaidML ?
- Nobody is interested in maintaining their specialized Tile programming language in which only someone like a pure maths professor would concoct so PlaidML's code quality just goes down the drain and no serious programmers in their right mind would want to deal with overly clever code ...
- This pretty much ties into OSX Yosemite "can't determine number of CPU cores: assuming 4" #2 but ever since Intel bought out Vertex.AI, they don't care about PlaidML anymore. Intel's solution for GPU compute accelerated machine learning is introducing a new compiler specifically for deep learning now known as nGraph to target Tensorflow, PyTorch or other deep learning frameworks as a backend for them. No reason for them to keep developing PlaidML anymore as their intermediary when they have nGraph ...
People use PyTorch for other reasons such as maintainability or other features so to sum it up PlaidML is Intel's tool and they probably don't intend for it to play in any role of the final parts of their plans. nGraph's current Intel GPU backend is based off of OpenCL 2.1 of which only Intel has a conformant implementation so Intel only exists to look out for themselves rather than purely for the betterment of machine learning. When Intel goes on to further developing nGraph, I can't see them continue basing off their GPU backend on OpenCL 2.1 alone since many deep learning frameworks have templated kernels which are not compatible with OpenCL, Metal or Vulkan's separate source programming models so it's probably only for experimentation purposes. Intel's final GPU backend is probably going to either be based off of SYCL 2.2 or something else entirely different like OpenMP and maybe they'll even bring a vendor specific solution ...
As for AMD, who cares ? OpenCL is irrelevant to them and they're finally showing some results with their work on HIP ...
What about all GPU inside arm machine like mobile phones and raspberry pi odroid and etc?
They don't support opencl?
Google should care about insert tensorflow on gpu on android.
The biggest libraries of neural network training run only on Nvidia gpu, it just make Nvidia gpu more and more expensive (because it people and companies only buy it for professional neural network training), then google will lose more money that way.@Degerz from which planet you are came from?
How you can compare tf-CPU and AMD GPU ?
AMD GPU on plaidML x30 faster than tf-CPU- It runs pitifully slow on AMD's OpenCL implementations compared to Tensorflow's CUDA backend so there goes at least half the reason to use it
in my deepfakes tests OpenCL slower only by 20%, but in some mini networks OpenCL is 20% FASTER.
My project DeepFaceLab has many users that have been waiting for the support of AMD. How many people were delighted when deepfakes can finally be trained on AMD cards.
Also plaidML is the only backend for keras that supports AMD/IntelHD out of the box.
If a new AMD backend for keras appears, of course my project will switch to it.
PyTorch has no future.What to maintain in plaidML ? Ops are auto differentiable, there is nothing to maintain.
Tile programming language in which only someone like a pure maths professor would concoct
Machine learning is invented by professors of mathematics, isn't it?
Reacted by mirhReacted by Luca Tanieli and Klaus Eckelt@talregev What about ARM or Broadcom ? The former probably has subpar OpenCL implementation and the latter doesn't even officially provide OpenCL drivers! It's not Google's responsibility to create and maintain a competent compute stack for hardware vendors ...
@iperov You realize that training neural nets with embedding layers on PlaidML is painful, right ? PlaidML also has a bunch of other limitations as well such as not being all that well suited for DenseNets or the fact that it's computation graphs are static and does PlaidML even work well with RNNs ?
As for your project, don't worry about it. You'll move on to something better like Tensorflow since AMD will soon offer a native GPU backend for it once MIOpen gets upstreamed which is their GPU accelerated library of primitives for deep neural networks similar to their competitor's cuDNN library both of which will leave PlaidML in the dust in terms of performance. Who cares about Intel iGPUs anyway ? If Intel is truly committed to delivering high performance deep learning on their future discrete graphics hardware then they'll offer a single source option just like the others (AMD/HIP and Nvidia/CUDA) did before them ...
PyTorch has no future.
Envy much ? PyTorch is ~10x more popular than PlaidML, newest techniques in DL are implemented easily on PyTorch, tons of different contributors and is actively developed by Facebook all the while Intel hasn't contributed to PlaidML in nearly a month ?
What to maintain in plaidML ? Ops are auto differentiable, there is nothing to maintain.
So I take it from you that PlaidML shouldn't receive any new fixes or new features in the future going forward ? If you don't see the value in improving code then there's no point in convincing you to acknowledge PlaidML's glaring flaws ...
Machine learning is invented by professors of mathematics, isn't it?
Doesn't mean we have to take up whatever programming language they make up especially in the case of Tile where elegance is clearly favoured over readability. It's no wonder why so many potential contributors are scared away from contributing ...
- locked as too heated and limited conversation to collaborators
on Feb 26, 2019 Closing the issue , please refer here https://blog.tensorflow.org/2020/08/faster-mobile-gpu-inference-with-opencl.html

I understand TensorFlow only supports CUDA. What would need to be done to add in OpenCL support?