I never get past the license, not sure what you can even use this for without breaking 2.7? Any ideas?
2.6 You may not use the Software in any manner that would cause it to become subject to an open source software license; subject to the terms in the “Components Under Other Licenses” section below.
2.7 You may not use the Software for the purpose of developing competing products or technologies or assist a third party in such activities.
> the difference between building a libary and a product using that libary is quite clear?
Where do you see that differentiation? For me, it is not even clear whether the restriction of building competing products only refers to this specific library or to every single product by NVIDIA.
Well, building a framework for high computing sounds like a competing product. Using a high computing framework to build a simulation for science or a game like using it. There will be grey area, but not so grey, that no product can be build with it.
This looks similar to Triton, I wonder what it does differently. But in any case, for any of these libraries, it would be awesome if it could output object files from this, with PTX or SASS code. Then it can be linked into a binary instead of needing a Python environment to run it.
Warp outputs its intermediate GPU CUDA or CPU C++ files that can be compiled and linked into a binary. Here is an old example of mine calling Warp kernels from C++: https://github.com/erwincoumans/warp_cpp
Triton offers broad GPU support for writing high throughput kernels. Some higher level ML/AI tools, such as PyTorch, can use Triton internally. I don’t know off the top of my head if any simulation libraries do.
Python and HPC is something receiving quite some attention. The reasoning is that the combination can unlock user productivity,the way it did for data science / machine learning with the use of standardized and (relatively) user-friendly libraries such as numpy/pandas. But the python+hpc end game is not yet visible. There are lots of incompatible frameworks, extensions, compilers etc but nothing sticking out as particularly compeling. Maybe this is the nature of the beast.
pytorch is still rather narrow in the range of applications / tasks it supports (deep learning algorithms and the related workflows). It does illustrate what it takes to address a subdomain comprehensively (supporting different hardware architectures etc.). But not sure it will ever become a general purpose hpc framework for python.
So, everyone is betting on a language that is barely maintained, is somewhat abandoned by Google and is essentially in the hands of two other corporations.
Without a standard. Can we please focus on better C++ libraries for science so we can use any language for wrapping the result?
Python? Are you sure? Maybe hardcore hpc types don't use python but it's still the bread and butter of most academics. Especially anyone doing data science/machine learning. If anything it has gotten more popular as R is slowly being displaced.
2.6 You may not use the Software in any manner that would cause it to become subject to an open source software license; subject to the terms in the “Components Under Other Licenses” section below.
2.7 You may not use the Software for the purpose of developing competing products or technologies or assist a third party in such activities.