5 ms·
NVIDIA's hardware and software (CUDA) badly need competition in this space -- from Intel, from AMD, from anyone, please. If anyone at Intel is reading this, pl
by cs702 6y ago
NVIDIA's hardware and software (CUDA) badly need competition in this space -- from Intel, from AMD, from anyone, please.
If anyone at Intel is reading this, please consider releasing all Ponte Vecchio drivers under a permissive open-source license; it would facilitate and encourage faster adoption.
- dogma1138 6y agoIntel’s OneAPI is already miles a head of AMD’s ROCm which is pretty awesome.
- spijdar 6y agoSadly, that's not a very high bar to set...
- pjmlp 6y agoNow they need to catch up with polyglot CUDA eco-system.
- johnnycerberus 6y agoI really don't get this push to polyglot programming when 99% of the high performance libraries use C++. Even more, openAPI has DPC++, SPIR-V has SYCL, CUDA is even building a C++ standard library that is heterogeneous supporting both CPU and GPU, libcu++. Seriously now, how many people from JVM or CLR world actually need this level of high performance? How many actually push kernels to the GPU from these runtimes? I have yet to see a programming language that will replace C++ at what it does best. Maybe Zig because it is streamlined and easier to get into will be a true contender to C++ HPC but only time will tell.
- jacques_chester 6y ago> Seriously now, how many people from JVM or CLR world actually need this level of high performance? The big data ecosystem is Java-centric.
- johnnycerberus 6y agoIndeed it is, but the developers in these ecosystems created complements like Apache Arrow that will unload the data in a language-independent columnar memory format for efficient analytics in services that will run C++ on clusters of CPUs and GPUs. Even Spark has rewritten their own analytics engine in C++ recently. These were created because of the limitations of the JVM. We have tried to move the numerical processing away from C++ in the past decades but we have always failed.
- jacques_chester 6y agoYou asked who in the JVM world would be interested in this kind of performance: that's big data folks. To the extent that improvements accrue to the JVM they accrue to that world without needing to rewrite into C++.
- dogma1138 6y agoFinance too, large exchanges with micro second latency have their core systems written in Java, CME Globex and EBS/Brokertec are written in Java.
- pjmlp 6y agoEnough people to keep a couple of companies in business, and NVidia doing collaboration projects with Microsoft and Oracle, HPC is not the only market for CUDA.
- bionhoward 6y agoWhenever I hit AI limits, it's due to memory. That's why I would argue the future of AI is Rust, not C++. Memory efficiency matters!
- zepmck 6y agoWhen? Where? How can it be miles ahead if the hardware has not been released yet?
- baybal2 6y agoYes, seconding that. What the point of using OneAPI, a yet another compute API wrapper, to make software just for a single platform? You can just use regular computing libs, and C, or C++. Serious HPC will still stay with its own serious HPC stuff, superoptimised C, and fortran code, no matter how labour intensive it is. So, I see very little point in that.
- dogma1138 6y agoOneAPI is already cross platform through codeplay’s implementation which also can run on NVIDIA GPUs, its whole point is to be open cross platform framework that targets a wide range of hardware. Wether it would be successful or not is up in the air but it’s goals are pretty solid.
- my123 6y agoSo basically, a thing that will provide first-class capabilities only on Intel hardware, and won't be really optimised for maximum performance/expose all the underlying capabilities of the hardware elsewhere.
- pjmlp 6y agoSuperoptimised C++, and Fortran code, with Chapel on the horizon.
- elihu 6y agoThe One-API and OpenCL implementations, Intel Graphics Compiler, and Linux driver are all open source. Ponte Vechio support just hasn't been publicly released yet. https://github.com/intel/compute-runtime https://github.com/intel/compute-runtime https://github.com/intel/intel-graphics-compiler https://github.com/intel/intel-graphics-compiler https://github.com/torvalds/linux/tree/master/drivers/gpu/drm/i915 https://github.com/torvalds/linux/tree/master/drivers/gpu/dr...
- pjmlp 6y agoOne-API focus too much on C++ (SYSCL + Intel own stuff), while OpenCL is all about C. CUDA is polyglot, with very nice graphical debuggers that can even single step shaders. Something that the anti-CUDA keep forgeting.
- dogma1138 6y agoCUDA’s biggest advantage over OpenCL other than not being a camel was its C++ support which is still the main language in use for CUDA in production, I doubt FORTRAN was the reason why CUDA got to where it is, C++ on the other hand had quite a lot to do with it during its initial days when OpenCL was still stuck in OpenGL C-Land. NVIDIA understood also early on the importance of first party libraries and commercial partnerships something Intel also understands which is why OneAPI has wider adoption already than ROCm.
- pjmlp 6y agoCUDA supports much more languages than just C++ and Fortan. .NET, Java, Julia, Python (RAPIDS/cuDF), Haskell don't have a place on OneAPI so far. And yes, going back to C++, the hardware is based on C++11 memory model (which was based on Java/.NET models). So plenty of stuff to catch up, besides "we can do C++".
- dragandj 6y agoHow does CUDA support any of these (.Net, Java, etc?). It's the first time I hear this claim. There are 3rd party wrappers in Java, .Net, etc. that call CUDA's C++ API, and that's all. Equivalet APIs exist for OpenCL too...
- xiphias2 6y agoCUDA is not as important as Tensorflow, PyTorch and JAX support at this point. Those frameworks are what people code against, so having high quality backends for them are more important than the drivers themselves.
- pjmlp 6y agoNot everyone is using GPGPU for Tensorflow, PyTorch and JAX.
- xiphias2 6y agoCan you give me another GPGPU framework that puts in the effort to have up-to-date benchmark comparisions between different hardware? Just as an example I just bought an M1 laptop. Even PyTorch CPU cross-compiling hasn't been done properly, and TensorFlow support is full of bugs. I hope that with M1X it will be taken more seriously by Apple. I understand your point (Julia is a great example), but trying to support a rarely used hardware with a rarely supported framework is just not practical. (Stick with CUDA.jl for Julia :) )
- pjmlp 6y agoFor example, the guys at OTOY couldn't care one second about PyTorch, TensorFlow. https://home.otoy.com/ https://home.otoy.com/