dart-lang / sdk

The Dart SDK, including the VM, JS and Wasm compilers, analysis, core libraries, and more.
https://dart.dev
BSD 3-Clause "New" or "Revised" License
10.24k stars 1.57k forks source link

support for the CUDA platform of NVIDIA graphics cards #55404

Closed Ing-Brayan-Martinez closed 7 months ago

Ing-Brayan-Martinez commented 7 months ago

Greetings to the community, the idea of this proposal is to extend the use of the Dart language for other activities that are currently in high demand. Google has a partnership with Nvidia. I don't know if there is a possibility that Nvidia engineers use the Dart language for the frameworks that Nvidia offers to its clients, all in collaboration with Google. This has already been done before with Jetbrains and Kotlin, this is totally possible

The idea is that Nvidia offers solutions in Python and Dart since both are very similar in the use that can be given to them; interoperability with languages ​​such as C++, Objective C and Rust is essential for the future of the language it manufactures. It is similar to Python and very useful for the hardware industry. Nvidia could get a lot out of the Dart language.

The Dart team achieved something very important such as support for the RISC-V processor architecture, that is, it was a success. That is why it is not unreasonable to think that the Dart language will enter the hardware industry.

If collaboration with Nvidia is achieved, we could think about repeating the pattern with other companies such as Intel AMD, Epic Game, Unity, it is necessary to lobby and negotiate these collaborations. The open source community can't do this because they don't have that control, Google has the power to make it happen.

Finally, we, the developer community, are very concerned about the future of the Dart language. Personally I make these proposals to collaborate in the growth of the platform. I really feel involved, but we need Google's support with moves like this.

The history of the Dart language reminds me of the story of the Google engineers who invented the architecture of the Transformers, really brilliant people, and Google did not use its own invention, a startup like OpenAI had to come along to exploit the capabilities of the Transformers. This led OpenAI to be the leading AI company. For me the Dart language is a great idea that has not been able to take advantage of its true potential, I think it really is a gold mine

Ing-Brayan-Martinez commented 7 months ago

I wanted to add more background information, here is the official announcement from Nvidia and Google

An entire ecosystem has been developed on Nvidia hardware that tries to get the most out of the hardware, which is why we mainly have Nvidia Nemo and Nvidia Nim. These technologies were originally written in C++ and Python, the idea of the collaboration is to make an implementation in C++ and Dart so that the latter is usable on Nvidia hardware, an important step is that there is already a version of Tensorflow written in Dart, usable and packageable to run on Nvidia hardware

Apparently in the field of generative AI Python is the only thing that is used, if Nvidia, with all these technologies, intends to use the microservices philosophy, it is necessary to support more languages that run on Nvidia hardware so that developers of other languages , have job opportunities and can make products that help the real economy such as manufacturing services, among others,

Support for multiple languages was always normal when the microservices revolution began back in 2013 or 2014, all developers began to adopt Docker Kubernetes and Public Cloud providers since we could take our back end framework and take it to the cloud, Now this idea is impossible because Python has an absolute monopoly, being totally exclusive, it is time for alternatives to exist and Dart is versatile enough for this type of use.

lrhn commented 7 months ago

(Interacting with CUDA seems like a library feature, not a language feature, so moving to SDK repository.)

Python is good at native interop, which is why it's a good glue language around C++ libraries. It seems possible that something like this can be achieved using dart:ffi to interop with C++ libraries. Creating a similar API in Dart should be doable.

Python had lots of integration libraries before NVidia created their own, so it doesn't seem like something that can't be done in Dart without NVidia support. Whether NVidia wants to create a Dart API is, well, up to them. (And any kind of inter-corporation cooperation is way above my paygrade.)

Ing-Brayan-Martinez commented 7 months ago

I understand if that is the case, let's adopt the philosophy of Pragmatism, and Minimalism.

If we already have a Tensorflow library written in Dart, we can optimize it to convert it into a framework completely written with the Dart language that allows us to create generative AI models, which allows us to optimize the internal processes of the Dart language development team itself.

Models can be created that help, for example: Find security gaps, or improve the performance of the Dart VM, or improve code autocompletion, among other possible uses.

So the version of Tensorflow written in Dart would be the second most important framework after Flutter and thus finally have other uses, the market understands Dart and Flutter as one when it should not be like that Dart is a language that could have as many important frameworks as it could be Tensorflow

All internal scientific research could be managed with Tensosrflow written in Dart to create AI that feeds back to the development of the ecosystem, it is a good idea on your part

Support for the CUDA platform is the first step to reinforce this idea so that Dart language developers can not only create spectacular Apps, but can also create AI models without having to learn a new language.

mraleph commented 7 months ago

@Ing-Brayan-Martinez I encourage you to create code instead of creating proposals. And as I have said before - your ideas seem to be better suited for community forums rather than Dart SDK issues trackers.

I don't see any reason to keep this open. It's unactionable for us.

Ing-Brayan-Martinez commented 7 months ago

I am developing my own framework to create web3 applications on the Ethereum platform, and with that same framework I am creating a wallet similar to Metamask, I am financing these projects with my own resources, I would really like to work on the project to support CUDA When I can I will, generative AI is a technology that we cannot avoid but we can moderate it so that it is not harmful to anyone, we need to give more options to the Dart language developers and Tensorflow is a possible framework that could exist to not only depend from Flutter which is very good