Projects
Newton Plus - Fast Square Root algorithm for large numbers - Worlds fastest?
Built: November 2020 - December 2021
Detecting Infinite Loops
Can we detect if a finite program will hault and get stuck in a loop? Yes we can as long as the program does not have infite memory. What are some possible good methods to do this. Note: I did no prior research into this so no references.
Built: August 2019
Understanding the very basics...Bits!
In this video, I experiment with the basic building blocks of everything - bits. I show that math functions such as division, multiplication, and calculating Pi can be done with just OR and NOT logic gates. Note: I did no prior research into this so no references.
Built: August 2018
GCN Assembler for AMD GPUs
Worlds first open source and directly usable AMD GCN GPU compiler.
The first open source assembler/compiler written in C# .net.
It had some good ideas for an asm complier:
- First of it's kind, 3-letter abbrivated data types that would state the type(vector or scaler), size, and datatype(int/unsigned/float/bit). v4i would be vector-4byte-integer or s8f would be a double.(first of its kind?)
- It would auto allicate registers but registers could also be forced to a specific register number. (first of its kind?)
- Inline Variable Declarations - Example: "v_add_i32 int x, y, z." would declare x in the same line.(first of its kind in asm?)
- Variable Indexing - Variable indexing adds the ability to access a particular register in a multi-register variable. For example, with s8b myVar there might be a need to access the second register. This can be achieved by appending a [1] to the variable.
- Free a Variable manually - example "free myVar1" would free the name myVar1 and let the asmembler know that register was free. (first of its kind in asm?)
- Choose a register pool - example: #S_POOL s22, s23, s24, s27, s29, s30, s31, s33, s34, s35, s36, s37
Article: https://www.codeproject.com/Articles/872477/Assembler-for-AMD-s-GCN-GPU
Source: https://github.com/SunsetQuest/Asm4GCN
Built: February 2015
CudaPad
This was a nice program called CudaPAD that had asm in a right side vertical windows and the source c++ code on the left side vertical window. This was the first of its kind - so I guess I invented it. Just a few years later another gentlemen, Matt Godbolt, had a simular idea and created GCC explorer (later named to Compiler Explorer). Seeing the popularity of this I guess I should have stuck with my CudaPAD!
Worlds First side-by-side code to Asm... t
- Worlds First side-by-side code to Asm that automaticlly updates asm
- Worlds First side-by-side code to Asm with Diff
- Worlds First side-by-side code to Asm with different compiler options in the menus
- Worlds First side-by-side code to Asm that removed junk code
- Worlds First side-by-side code to Asm with Syntex Highlihting
- Worlds First side-by-side code to Asm with Single-click register highlighting and search
What is CudaPAD?
- Enter your Cuda c++ code in the left window and the assembly shows up on the right. (Note: This 1st item was not my idea. I got this was from an AMD tool called Brooke++ from 2007)
- Automatically starts re-compiling each time a change is made in the left source window. (and it indicates it is compiling)
- Menu options at the top for selecting what compiler options
- A built in Diff shows the changes after every action.
- Visual lines match up the code in the C++ to asm on the right.
- Syntax Highlighting, Clean assembly Formatting
- Online Error/Warning Search
- Single-click register highlighting and search (added Jan 2016)
Built: December 2008