Neve - Towards a Unified Programming Model for the Complete Deep Learning Stack A developer known as No Saved DATA introduced Neve, a new programming language designed to unify high-level Python-like syntax with low-level efficiency for deep learning. The language features LLVM JIT compilation, GPU kernel interfaces, and built-in support for parallelism and channels, aiming to overcome limitations such as Python's GIL. The project is open source and available on GitHub. Hi folks, this is No Saved DATA. I dedicate this post to describe some of the features I put in Neve to make it an expressive high-level language close to Python/PyTorch syntax , while also allowing efficient low-level code. I am sharing this now, because I believe the language has already strongs traits that allow it to be extended to other problem domains. Current results: Besides, I recently added GPU Kernels code interface. However, the complete framework will still take some more months. The current state is an evolution of a post I made in r/ProgrammingLanguages some months ago https://www.reddit.com/r/ProgrammingLanguages/comments/1ql585o/brand new nsk programming language python syntax/ https://www.reddit.com/r/ProgrammingLanguages/comments/1ql585o/brand new nsk programming language python syntax/ You can check the documentation https://neve-lang.dev https://neve-lang.dev Don't forget to star the repo https://github.com/NoSavedDATA/Neve https://github.com/NoSavedDATA/Neve . And sub to the channel xD https://www.youtube.com/@nosaveddata3994 https://www.youtube.com/@nosaveddata3994 . Discord for extensive talks/suggestions https://discord.gg/hP5feM7cV https://discord.gg/hP5feM7cV ──────────────────────────────────────── Intro I started creating Neve after seeing the code of the Efficient Zero reinforcement learning model. It has a parallelism that PyTorch does not handle, and the implementation required using Cython packages for having threads literaly coding in C, then just calling C functions from Python . Later, I realized PyTorch also needed to implement its data worker threads in C, another workaround over Python Global Interpreter Lock GIL . Not only that, even preprocessing implementations like the BPE are made in C, C++, Rust, etc... So, currently, people must choose between languages like Python for high-level productivity, C and relatives for compute efficiency, Lua for advanced interoperability and other languages for concurrency. Thus, since in my job I had to wait hours for my neural networks to train, I decided to create a programming language in the remaining time. One language that had all these features, which are of high value for deep learning research. Nowadays, I believe it matured to such a point that it may be extended to other complex problem domains. Since Python syntax is very simple and has most of the users, I chose it as the basis. But it run a LLVM JIT in its background. Now I will explain important expressions and features in Neve. ──────────────────────────────────────── Finish/Async and Data Split I experimented Jax deep learning framework for a while. During this period, I learned an expression that would take a tensor or a vector as inputs. It could vectorized the function over the first dimension. A threaded adaptation I made for Neve is: def int foo array