Gyula Rabai's Projects
AI LLMs - Inference engine for LLMs in C# / C++
I have designed and implemented a fully working AI inference engine from scratch in C#. It can run open weight Large Language Models (LLMs), such as LLama3. It can read, and parse GGUF files and can follow chat templates. The inference engine has a very efficient execution model, that is capable of distributing load and memory usage among multiple processing units (CPUs, GPUs) and multiple memory blocks (System RAM, VRam, offloading to SSD).
Technology: C#, AI, LLMs
Learn more about Gyula Rabai's AI inference engine
AI TokenTree - Efficient tokenization for LLMs in C#
My TokenTree tokenization library implements Byte Pair Encoding (BPE) and SentencePiece (SPM) tokenization algorithms for AI language models. The tokenization algorithms are served by a novel approach called TokenTree, where a B-Tree like structure is built from the tokens for faster evaluation. This approach provides significant speed improvements over traditional Regular Expression (RegExp) based evaluation. The library provides efficient tokenization for GPT-2 and LLaMA-style models with optimized token lookup using the hierarchical token tree structure.
Technology: C#, AI, LLMs, BPE, SPM
Learn more about TokenTree
AI GGUF - LLM model file parser in C#
The GGUF file parser was created for parsing and inspecting GGUF (GPT-Generated Unified Format) files commonly used for storing large language models. The parser can properly understand different data formats including quantization used by local Large Language Models (LLMs).
Technology: C#, GGUF
Learn more about Gyula Rabai's GGUF parser
AI Neurons - Neural Network Simulator in C#
This Neural Network Simulator simulates a deep neural network capable of learning different tasks using stochastic gradient descent. The cost function is RMSE and the hidden layers' activation function is sigmoid. Each iteration, it takes an example, computes the activations for the neurons and uses the gradient function for the neurons to calculate how to change their connections.
Technology: C#, AI, Neural Networks
Learn more about Gyula Rabai's Neural Network Simulator
RGame - A Game Engine in Python
RGame is a powerful Python game engine designed for developers who want flexibility and performance. With an outstanding vector class and advanced physics simulation, rgame makes it easy to create smooth, realistic motion and interactions. Whether you're building a 2D platformer, a physics-based puzzle game, or a dynamic simulation, rgame provides intuitive tools and optimized performance to bring your ideas to life.
Technology: Python, Gravity, Physics
Learn more about RGame
https://pypi.org/project/rgame/
Zombie Game - A Survival Game in Python
Zombie game is a simple top-down survival shooter game built with Python and RGame. This game demonstrates the capabilities of the RGame game engine. It uses traditional controls (WASD) to move the main character areound and the mouse to use the weapon. The source files show how easy and efficient it is to use RGame.
Technology: Python, RGame
Learn more about the Zombie Game
Pong Game – Native DirectX programming in C/C++
I have written the classic pong game. The goal of the project was to understand how DirectX works. The implementation used directx frame-by-frame update. The game was fully functional. We have played many times with it with my brother..
Technology: Python, RGame
Learn more about the Pong Game
Evolution - Natural Selection Simulator in C#
This is the Natural Selection Simulator or in other words an Evolution Simulators. The simulator shows how a population of species can evolve. The simulator has 2 entities: plants and animals. The animals are looking for food. Each animal is represented by a red circle with a specific radius, that allows them to see where food is. They have an energy level and a speed.
Technology: C#, WPF, Liner Algebra
Learn more about the Natural Selection Simulator
Physics - Spaceship Simulator in Unity 2D/3D
This simulator is a physics simulator with rules to model the forces affecting a spaceship. The spaceship is flying over tiles in a grid. Each tile may have different building units with different charateristics and weight. The user can change the pattern of these tiles. The software calculates the moment of inertia and the center of mass and it calculates what would happen to the spaceship in case of a collision.
Technology: C#, Unity
Learn more about the Spaceship Physics Simulator
Physics - Gravity Forces Effecting Planetary Motion
This is a physics simulation of the gravity forces effecting planetary motion written in Python. Circles were displayed on the screen to represent the sun and planets, the size of the circle represented the mass and gravitational force. These stars and planets attract each other and if they collided, their mass is combined. The simulation shows how a user planets positioned in space by the user behave in a simulated environment. The goal of this simulation is to make it easy for students of Physics understand gravity.
Technology: C#, Unity
Learn more about the Spaceship Physics Simulator
Physics - Sumo Game to Simulating Frictional Forces
Two playes coud play against each orther. Two cubes could be controlled, one with arrow keys, the other with WASD. They could push each other around. The surface of the playing field had a simulated friction, the cubes were heavy. The goal of the game was to build up momentum. High momentum made it possible to push the opponent out from the playing field.
Technology: C#, Unity
Learn more about the Sumo Game Physics Simulator
Sierpiński Triangle - Generated with Chaos Game
A C# implementation of the Sierpinski Triangle fractal, demonstrating recursive fractal generation and computer graphics programming. This simulator demonstrates the Sierpiński Triangle Generation using the Chaos Game algorithm. The graphics uses WPF.
Technology: C#, WPF
Learn more about the Sierpiński Triangle simulation
3D Engine - Move a cube in space
This is a C# example app, to demonstrate the capabilites of my 3D linear algebra library. This C# example shows, how a user can use the Vector3D, Vector2D, Point3D and Point2D classes the Matrix operations and the Vectur operations.
Technology: C#, WPF
Learn more about the 3D Engine
Economics – Simulation of Multi-participant Trading
This was a multiplayer network simulator, playable on a LAN. The players could connect to a server. The players could trade resources in each round. The players also received resources in each round. Resources could be traded in for money called coins. The goal of the game was to reach 100 coins first. Resources could be also be used to upgrade resource acquisition capability.
Technology: C#, WPF
Learn more about the 3D Engine
Week planner - Task planner and scheduler in C#
WeekPlanner is a simple, terminal-based task management and pomodoro-style productivity tool written in Python. It helps you manage tasks with importance levels, tracks progress, and uses an efficiency-based work/break ratio to structure your time.
Technology: Python
Learn more about Week planner
AstroPI - Measuring the speed of the ISS
The European Space Agency (ESA) advertised a project called AstroPI. The goal of the project was to develop software that can determine the speed of the International Space Station (ISS) simply by using a camera. This was difficult, because moving clouds, large bodies of water on Earth made it difficult to properly determine speed. My code was selected to run on the ISS.
Technology: Adruino, C/C++, Computer Vision
Learn more about the AstroPI project
8 bit CPU - Instructions, Circuit design, Assembler
This projects shows how a CPU can be designed and built. It starts with the design of the instruciton set, then the electrical circuit to be able to execute this instruction set should be designed and run in a simulator, finally an assembler need to be built that make it easy to convert text instructions to hexadecimal numbers (HEX values) to serve as input for the circuit.
Technology: Logisim, Circuit design, Python assembler
Learn more about my 8bit CPU design
C-3PO - A PEZ dispenser robot for teaching
I have built this mini robot when I was 11 years old. I have used an Arduino Nano along with a simple servo motor. The robot can be used for teaching. The name of the robot is "C-3PO the Master Teacher". The robot is built from a PEZ Candy Dispenser. It can talk and understand speech. It is a great tool for children, who like the PEZ candy and need te learn Math.
Technology: Adruino, Servo motor, PEZ
Learn more about the C-3PO project