Awesome
<a id="readme-top"></a>
GS - GpuScript :rocket:
πΊοΈ Directory
<a href="#whatis"> π What is GpuScript?</a>
<a href="#install"> π¦ Installation / Getting Started</a>
<a href="#tutorial"> π Tutorials</a>
<a href="#available"> πΎ Available Liabriries</a>
<a href="#future_library"> π’ Future Liabriries / Coming Soon</a>
<a href="#status"> βοΈ Project Status</a>
<a href="#contact"> π Contact Info</a>
<a id="whatis"></a>
What is GpuScript?
GpuScript is free and open source. It is written in C# and integrated with Unity, also free.
$${\color{green}GpuScript \space\space\color{green} enables\space\space\color{green}programming\space\space\color{green}on \space\space\color{green} any \space\space\color{green} GPU. }$$
$${\color{green}Any \space\space\color{green} Object-Oriented\space\space\color{green}programmer\space\space\color{green}can \space\space\color{green} learn \space\space\color{green} GpuScript \space\space\color{green} in \space\space\color{green} 30\space\space\color{green} minutes!}$$
( JavaScript, Python, and C++ programmers can quickly catch on, as these languages are essentially the same as C# when it comes to Object-Oriented Programming. )
Program the Gpu in Object-Oriented Programming (OOP) and skip learning HLSL, OpenGL, OpenCL, CUDA, and ShaderLab. Write an instruction OOP class, and GpuScript generates thousands of lines of boiler-plate OOP, UI, and GPU code. Then, fill in the program-critical code, and the project is done.
GpuScript increases programmer productivity significantly.
$${\color{red}Instead\space\space\color{red} of\space\space\color{red} spending \space\space\color{red}a \space\space\color{red}month\space\space\color{red} to\space\space\color{red} write\space\space\color{red} a \space\space\color{red}program,\space\space\color{red} finish\space\space\color{red} it \space\space\color{red}in \space\space\color{red}two\space\space\color{red} hours!}$$
GpuScript turns a laptop into a supercomputer. GpuScript increases program graphics and computation speed by orders of magnitude.
Imagine running a 4096x4096 matrix multiply in one nano-second. Imagine running a 4096 Fourier Transfrom in 3 nano-seconds.
Debug group-shared memory kernels. Learn integer computation tricks to break floating point operation barriers by orders of magnitude.
GpuScript brings Object-Orientated Programming (OOP), limited Functional Programming (FP), and full debugging support to the GPU.
Programmers can quickly write and easily debug large complex programs on the GPU. Perform all computations on the Gpu, keep all the data on the Gpu, reduce Cpu/Gpu memory transfers, and get higher speed-ups.
<img src="images/GpuScript.jpg" width=75% height=75%>GpuScript is integrated with Unity. Unity supports numerous platforms, including Windows, Mac, Linux, Dedicated Server, Android, IOS, PS4, PS5, Web, Universal Windows Platform, tvOS, and visionOS, with practically no code changes required from platform to platform. Unity supports multi-user applications, enabling custom GPU Cloud distributed computing. Unity also supports high-quality 3D graphics and simulations. Unity is free, has a wide user-base, and many training videos are available. In my experience, if you don't use Unity, you end up having to rewrite it yourself, feature by feature, or do without.
Bottom line: GpuScript is free, easy to learn, highly productive, and unbelievably fast!
<p align="right">(<a href="#readme-top">back to top</a>)</p><a id="install"></a>
Installation / Getting Started
Download Unity Engine for free HERE.
Installation instruction can be found in How to Get Started Tutorial.
<p align="right">(<a href="#readme-top">back to top</a>)</p><a id="tutorial"></a>
Tutorials
Video Tutorials can be found HERE.
Text Tutorials can be found on GpuScript Wiki Pages HERE.
The following is a list of all free tutorials available, and it's recommended to watch them in sequence:
-
- How to Get Started
-
- Buttons: Learn How to Create and Use Buttons
-
- CheckBoxes
-
- Build Graphic Vertex / Draw Spheres
-
- Create Unsigned Integer
-
- Add a Float
-
- Array
-
- Debug Compute and Graphics Shaders
<ins>New tutorials will be added frequently!<ins>
<p align="right">(<a href="#readme-top">back to top</a>)</p><a id="available"></a>
Available Libraries
- BDraw: Draw hundreds of millions of billboard/semi-billboard graphics in high-speed, including spheres, lines, arrows, and 3D text.
- AppendBuff: High-speed and high-volume append buffers and prefix sums, with many use cases.
With GpuScript, you can write programs with lightening fast graphics and computations on GPU with ease!! :boom:
https://github.com/user-attachments/assets/e4158af7-9630-47b9-9f11-39a67e700fbb
<p align="right">(<a href="#readme-top">back to top</a>)</p><a id="future_library"></a>
More Libraries to Come:
- Backup: Backup files to local and/or external locations
- FFT: Fastest Fourier Transform in existence
- OCam: Orbit camera with legends.
- Project: Project manager.
- Puppeteer: Automate Chrome for numerous web applications, such as web scraping and bypassing APIs (not responsible for illegal usage).
- Rand: Fastest random number generator in existence.
- Sort: Fastest sort in existence.
- Report: Generate reports and documentation with tables, figures, and animations. Full automation of all program features from an instruction file.
- Cloud: Multi-user/multi-process support for distributed GPU computing. Provides >5X acceleration using a single laptop with a single GPU. Even faster for local area networks and over the internet.
- VGrid: Fastest 3D volumetric rendering in existence, with axes grids.
- Views: Customized camera views and other program settings
- GEM: AI neural network with instantaneous and automatic construction of all hidden layers, size of each layer, and all neuron connections. Instant training with optimal fitting, interpolation, and extrapolation. Instant thinking. Data correction to fill in unknown entries, automatic detection and correction of outliers, and fixing jitter caused by roundoff or scatter. Optimization, to find the least number of training examples that can interpolate or extrapolate the entire set. Also supports correlated inputs for predictive analytics, statistics, design optimization, process control, and much more. Learn more about GEM AI here!
- Matrix: Fastest matrix multiplication in existence for a GPU (23 PFLOPS on a common GPU released in 2020). Combined with GEM, results in the fastest matrix inversion in existence. Yes, GEM can perform accurate matrix operations.
- GpuScript sample projects: Fractals, AI data models with predictive analytics, statistics, process control, and machine learning, ray-tracing, particle simulations, and CT-scan volumetric rendering.
<ins>Below is an illustration of the simplest GEM AI neural network ever: 1 input, 1 output, and 2 training examples (0=>0), (1=>1). It has 918 concurrent hidden layers, 1838 nodes, and 3676 links. It is built with GpuScript on a single laptop with a GPU rated at 20 TFLOPS.<ins>
https://github.com/user-attachments/assets/ee057a66-4686-4891-95c3-d6887e19ef38
<p align="right">(<a href="#readme-top">back to top</a>)</p><a id="status"></a>
Project Status:
GpuScript is now a v1.0 released product. If you find a bug, create a new Issue.
GpuScript is supported by Unity Engine. Unity runs on numerous platforms, including Windows, Mac, Linux, Dedicated Server, Android, IOS, PS4, PS5, Web, Universal Windows Platform, tvOS, and visionOS.
<p align="right">(<a href="#readme-top">back to top</a>)</p><a id="contact"></a>
Contact Info
Alan stared the GpuScript project because of his belief in open-soure and contributing to the community. Here are a few places you can find Alan or more information about GpuScript:
<p align="right">(<a href="#readme-top">back to top</a>)</p>