Creel
ASM Optimization: Fast Multiplication
updated
Po-Shen Loh's explanation of his formula: youtube.com/watch?v=XKBX0r3J-9Y
Support What's a Creel? on Patreon: patreon.com/whatsacreel
FaceBook: facebook.com/whatsacreel
Background images from animations from HDRI Haven: hdrihaven.com
Image of Lesley 'Twiggy' Lawson from Wikipedia
Software used to make this vid: Visual Studio 2019 Community: visualstudio.com/downloads
Blender: blender.org
Audacity: audacityteam.org
Davinci Resolve 16: blackmagicdesign.com/products/davinciresolve
OpenOffice: openoffice.org
Gimp: gimp.org
0:00 - Intro
1:24 - Adding Two Numbers Together
4:41 - Finding the Smallest of two Numbers
14:24 - Count 1's in a 32 Bit Integer
16:18 - Sorting 3 Numbers in Ascending Order
16:57 - The Wrong Way
23:01 - The Right Way
27:22 - Outro
Support What's a Creel? on Patreon: patreon.com/whatsacreel
FaceBook: facebook.com/whatsacreel
Software used to make this vid: Visual Studio 2019 Community: visualstudio.com/downloads
Blender: blender.org
Audacity: audacityteam.org
Davinci Resolve 16: blackmagicdesign.com/products/davinciresolve
OpenOffice: openoffice.org
Gimp: gimp.org
0:00 - Introduction
1:29 - Private member variables
6:26 - Member methods
11:38 - Polymorphism, Virtual Functions
'[OO] is a dirty rotten low down trick' is a quote by by Dr. Michael Brady from the lecture:
Microprocessor Systems Lecture 1: youtube.com/watch?v=eG3Vg_EZTYk
Support What's a Creel? on Patreon: patreon.com/whatsacreel
FaceBook: facebook.com/whatsacreel
Background images from HDRI Haven: hdrihaven.com
Software used to make this vid: Visual Studio 2019 Community: visualstudio.com/downloads
Blender: blender.org
Audacity: audacityteam.org
Davinci Resolve 16: blackmagicdesign.com/products/davinciresolve
OpenOffice: openoffice.org
Gimp: gimp.org
It's about universal operations and exploring how very simple sets of operations can be used to theoretically compute anything at all.
Addendum: I mention in the video that the NAND gates required for a video game or operating system would be comparable to Graham's Number. I am wrong, the number of NAND's required is faaaaaarrrrr less than that monster!! Thanks for the correction all :)
All images from Wikipedia.
NAND is all you need merch available from Creel Spring store:
whats-a-creel-3.creator-spring.com/listing/nand-is-all-you-need
Support What's a Creel? on Patreon:
patreon.com/whatsacreel
FaceBook:
facebook.com/whatsacreel
Background images from animations from HDRI Haven: hdrihaven.com
Software used to make this vid: Visual Studio 2019 Community: visualstudio.com/downloads
(Came in mighty handy for spitting out truth tables, let me tell ya!)
Blender: blender.org
Audacity: audacityteam.org
Davinci Resolve 16: blackmagicdesign.com/products/davinciresolve
Gimp: gimp.org
FaceBook: facebook.com/whatsacreel
Official Store: whats-a-creel-3.creator-spring.com
In this video we explore 11 bit hacks from beginner to advanced beautifully rendered in 3D and to the music of Chopin.
0:00 - Intro
1:03 - Set a bit
1:53 - Clear a bit
2:45 - Toggle a bit
3:38 - Convert trailing 0's to 1
4:33 - Extracting the least significant 1 bit
5:43 - Masked copy
7:03 - Swapping bits
8:30 - Population count
10:07 - Counting bit islands
13:07 - Bit scan forwards
16:44 - Next lexicographic permutation
Sources for the algorithms:
Stanford Bit Twiddling Hacks by Sean Eron Anderson
https://graphics.stanford.edu/~seander/bithacks.html
Matters Computational by Arndt, Jörg
E-Book: https://www.jjj.de/fxt/fxtbook.pdf
Hard copy: amazon.com/Matters-Computational-Ideas-Algorithms-Source/dp/3642147631
All music from the International Music Library Project: imslp.org/wiki/Main_Page
Chopin Waltz in C# Minor, Op. 64 No. 2, Piano: Olga Gurevich
Chopin Nocturne 2. Andante (E♭ major) , Piano: Aya Higuchi
Chopin Nocturne Op. 9 No. 1 in Bb Minor, Piano: Harald Vetter
Chopin Nocturne in F, Op. 15 No. 1, Piano: Luke Faulkner
Chopin Nocturne in F#, Op. 15 No. 2, Piano: Luke Faulkner
Background images from animations from HDRI Haven: hdrihaven.com
Software used to make this video:
Visual Studio 2019 Community: visualstudio.com/downloads
Blender: blender.org
Audacity: audacityteam.org
Davinci Resolve 16: blackmagicdesign.com/products/davinciresolve
OpenOffice: openoffice.org
Gimp: gimp.org
Office merch store: whats-a-creel-3.creator-spring.com
FaceBook: facebook.com/whatsacreel
This video is a little crash course on how to program a PIC microcontroller. I am using the PIC AS assembler, which is the newer version of the Microchip Assembler, and I will be programming using a PIC 12F675, though you can probably follow along with other mid-range devices.
We will be using MPLABX, and demonstrating many of the features which are useful when programming and debugging PIC microcontrollers.
MPLabX IDE: microchip.com/en-us/development-tools-tools-and-software/mplab-x-ide
12F675 Datasheet: ww1.microchip.com/downloads/en/devicedoc/41190c.pdf
Microchip Mid-Range Reference manual: ww1.microchip.com/downloads/en/devicedoc/33023a.pdf
Microchip Assembler User Guide: ww1.microchip.com/downloads/en/DeviceDoc/MPLAB%20XC8%20PIC%20Assembler%20User%27s%20Guide%2050002974A.pdf
Keep the above manuals handy whilst programming these devices! In addition to the above references, I recommend some great videos I have found on YouTube. The following list are videos I recall watching and enjoying, so have a watch if you like:
For migrating from MPASM, I recommend you watch Pizzey's tutorial: youtube.com/watch?v=VEvMtWZt9QE
For a lot of great info and demonstrations regarding assembly programming (they use MP ASM), I'd recommend the excellent channel 'Circuit Bread': youtube.com/channel/UClKevSwDIU8NTyF2DAK0G0Q
Software used to make this vid:
Audacity: audacityteam.org
Davinci Resolve 16: blackmagicdesign.com/products/davinciresolve
OpenOffice: openoffice.org
Gimp: gimp.org
Office merch store: whats-a-creel-3.creator-spring.com
FaceBook: facebook.com/whatsacreel
Welcome to the (almost) Annual Computer Science Lockdown Quiz 2! This is a quiz about all things computer related! Good luck all, I hope you do well :)
Big thank you to Sam and Julzy for their awesome hospitality :)
!!! SPOILERS BELOW !!!
Media Info:
J. S. Bach Brandenburg Concerto no. 2, mvt. 1; Columbia Chamber Orchestra, conducted by Reiner, Fritz. Source: https://www.liberliber.it/online/autori/autori-b/johann-sebastian-bach
Antonio Vivaldi "Winter" from "The Four Seasons", mvt. 1; United States Air Force Band, Air Force Strings. Source: Wikimedia Commons
Cray-2: commons.wikimedia.org/wiki/File:Cray2.jpg
Fugaku Supercomputer: commons.wikimedia.org/wiki/File:FugakuSupercomputerSC19.jpg; Original Author "Raysonho @ Open Grid Scheduler / Scalable Grid Engine"; I altered the original image by removing the name
Yul Brynner: commons.wikimedia.org/wiki/File:Yul_Brynner_Anna_and_the_King_television_1972.JPG; CBS Television, pre 1978 - no copyright mark
"2001: a space odyssey" is (C) 1968 by MGM
Background images from animations from HDRI Haven: hdrihaven.com
Software used to make this video:
Blender: blender.org
Audacity: audacityteam.org
Davinci Resolve 16: blackmagicdesign.com/products/davinciresolve
OpenOffice: openoffice.org
Gimp: gimp.org
Office merch store: whats-a-creel-3.creator-spring.com
FaceBook: facebook.com/whatsacreel
Re-upload with fixed audio! Thanks for letting me know all :)
This video is in response to a question from a viewer. We explore hyperthreading and see how we can get the most out of it within our apps.
Thanks all, have a good one :)
Music:
Mozart, W.A. Clarinet Concerto Mvt. 2 K. 622
University Symphony Orchestra; Abraham Kaplan, conductor; William McColl, basset clarinet, using an instrument of his own construction.
soniventorum.com/soniventorum_archives.html
Background images from animations from HDRI Haven: hdrihaven.com
Agner Fog Instruction Tables:
agner.org/optimize/instruction_tables.pdf
Software used to make this vid: Visual Studio 2019 Community: visualstudio.com/downloads
Blender: blender.org
Audacity: audacityteam.org
Davinci Resolve 16: blackmagicdesign.com/products/davinciresolve
OpenOffice: openoffice.org
Gimp: gimp.org
Office merch store: whats-a-creel-3.creator-spring.com
FaceBook: facebook.com/whatsacreel
In this video we’ll look at some of the most complex instructions available in x86/64 Assembly language.
I have checked against the manuals from Intel and AMD and results from hardware, but it is almost impossible to create a video without any mistakes. Please test the instructions yourself before you apply them in code.
Happy programming :)
References/Sources:
W. A. Mozart, Rondo from “Eine Kleine Nachtmusik”, Vienna Philharmonic, conducted by Bruno Walter: publicdomain4u.com/wolfgang-amadeus-mozart-eine-kleine-nachtmusik-classical-instrumental-music-mp3-download
Instruction timings: agner.org/optimize/#manuals
AMD programmer’s manuals: developer.amd.com/resources/developer-guides-manuals
Intel programmer’s manuals: software.intel.com/content/www/us/en/develop/articles/intel-sdm.html
Jim Morrison image from Wikipedia: en.wikipedia.org/wiki/Jim_Morrison
RDSEED object is based on “The Object” from Led Zeppelin’s Presence album.
Background images from animations from HDRI Haven: hdrihaven.com
Software used to make this vid:
Visual Studio 2019 Community: visualstudio.com/downloads
Blender: blender.org
Audacity: audacityteam.org
Davinci Resolve 16: blackmagicdesign.com/products/davinciresolve
OpenOffice: openoffice.org
Gimp: gimp.org
Office merch store: whats-a-creel-3.creator-spring.com
FaceBook: facebook.com/whatsacreel
This video is all about an interesting algorithm commonly used in spell-checkers. It is called the Levenshtein Edit Distance algorithm and it determines the distance between two strings of symbols in terms of how many edits would be required to transform one string into another.
The source code and accompanying e-book are available on Patreon.
Wikipedia Levenshtein: en.wikipedia.org/wiki/Levenshtein_distance
RosettaCode (featuring Martin Ettl's C++ single row version): rosettacode.org/wiki/Levenshtein_distance
Source for the dictionary used in this video: http://www.gwicks.net/dictionaries.htm
Software used to make this vid:
Visual Studio 2019 Community: visualstudio.com/downloads
Audacity: audacityteam.org
OBS: obsproject.com
Davinci Resolve 16: blackmagicdesign.com/products/davinciresolve
OpenOffice: openoffice.org
Gimp: gimp.org
Office merch store: whats-a-creel-3.creator-spring.com
FaceBook: facebook.com/whatsacreel
In this video we look at some misconceptions about Assembly language. Apologies for the sound in this one (and possibly the next too!), the main audio was not usable so I have used the camera mic instead.
Instruction listings by Agner Fog: agner.org/optimize/instruction_tables.pdf
Software used to make this vid:
Blender: blender.org
Audacity: audacityteam.org
OBS: obsproject.com
Davinci Resolve 16: blackmagicdesign.com/products/davinciresolve
OpenOffice: openoffice.org
Gimp: gimp.org
Office merch store: whats-a-creel-3.creator-spring.com
FaceBook: facebook.com/whatsacreel
In this video we will explore the AVX 512 mechanisms.
Links:
AVX512 Wikipedia Article: en.wikipedia.org/wiki/AVX-512
IntelSpecifications and Programmer’s References: software.intel.com/content/www/us/en/develop/articles/intel-sdm.html
CPUID Wikipedia page (contains a list of all the instruction set feature flags):
en.wikipedia.org/wiki/CPUID
Software used to make this vid:
Visual Studio 2019 Community: visualstudio.com/downloads
Blender: blender.org
Audacity: audacityteam.org
OBS: obsproject.com
Davinci Resolve 16: blackmagicdesign.com/products/davinciresolve
OpenOffice: openoffice.org
Gimp: gimp.org
Office merch store: whats-a-creel-3.creator-spring.com
FaceBook: facebook.com/whatsacreel
In this video, we will run through 3 different ways to implement AVX512 in your C++ projects. Agner Fog's VCL, Compiler Intrinsics, and native Assembly language. The information in this video has all been covered in previous videos, but I wanted to include examples so folks that missed older videos can still explore AVX512.
Links:
Agner Fog’s VCL github: github.com/vectorclass/version2
VCL Manual: agner.org/optimize/vcl_manual.pdf
AVX512 Wikipedia Article: en.wikipedia.org/wiki/AVX-512
Intel Specifications and Programmer’s References: software.intel.com/content/www/us/en/develop/articles/intel-sdm.html
Original videos I made a while back on the VCL:
Intro and installation: youtu.be/TKjYdLIMTrI
Graphics fun and speed testing: youtu.be/u6v_70opPsk
Software used to make this vid:
Blender: blender.org
Audacity: audacityteam.org
OBS: obsproject.com
Davinci Resolve 16: blackmagicdesign.com/products/davinciresolve
OpenOffice: openoffice.org
Gimp: gimp.org
Office merch store: whats-a-creel-3.creator-spring.com
FaceBook: facebook.com/whatsacreel
In this video, we'll begin exploring Intel's latest and greatest instruction set, the amazingly colorful and ever perplexing AVX512! We'll briefly explore SIMD in general, followed by an overview of the AVX512 instruction sets themselves.
Software used to make this vid:
Blender: blender.org
Audacity: audacityteam.org
OBS: obsproject.com
Davinci Resolve 16: blackmagicdesign.com/products/davinciresolve
OpenOffice: openoffice.org
Gimp: gimp.org
Office merch store: whats-a-creel-3.creator-spring.com
FaceBook: facebook.com/whatsacreel
In this 3 part series, we will explore sorting algorithms from the fundamentals all the up to implementations of both a comparison sort and a base 256 Radix Sort.
In this 3rd and final part, we look at some code and compare the performance of RadixSort and QuickSort with lists of various sizes, consisting or randomly generated unsigned 32 bit integers.
GeeksForGeeks Radix Sort: geeksforgeeks.org/radix-sort
GeeksForGeeks QuickSort: geeksforgeeks.org/quick-sort
Apologies for the code below, I have had to replace all greater or equal symbols with GE, and all less or equal with LE, greater is G and less is L. For the unedited version, please refer to the video!
Code:
// Radix sort based on Geeks for Geeks:
// geeksforgeeks.org/radix-sort
static void RadixSort256(unsigned int* arr, int n)
{
if (n LE 1) return; // Added base case
unsigned int* output = new unsigned int[n]; // output array
int* count = new int[256];
unsigned int* originalArr = arr; // So we know which was input
for (int shift = 0, s = 0; shift L 4; shift++, s += 8)
{
// Zero the counts
for (int i = 0; i L 256; i++)
count[i] = 0;
// Store count of occurrences in count[]
for (int i = 0; i L n; i++)
count[(arr[i] GG s)&0xff]++;
// Change count[i] so that count[i] now contains
// actual position of this digit in output[]
for (int i = 1; i L 256; i++)
count[i] += count[i - 1];
// Build the output array
for (int i = n - 1; i GE 0; i--)
{
// precalculate the offset as it's a few instructions
int idx = (arr[i] GG s) & 0xff;
// Subtract from the count and store the value
output[--count[idx]] = arr[i];
}
// Copy the output array to input[], so that input[]
// is sorted according to current digit
// We can just swap the pointers
unsigned int* tmp = arr;
arr = output;
output = tmp;
}
// If we switched pointers an odd number of times,
// make sure we copy before returning
if (originalArr == output)
{
unsigned int* tmp = arr;
arr = output;
output = tmp;
for (int i = 0; i L n; i++)
arr[i] = output[i];
}
delete[] output;
delete[] count;
}
Quicksort:
int Partition(unsigned int* data, int lo, int hi)
{
unsigned int pivot = data[lo + (hi - lo) / 2];
int i = lo - 1;
int j = hi + 1;
for (;;)
{
do {} while (data[++i] L pivot);
do {} while (data[--j] G pivot);
if (i GE j)
return j;
// Swap [i] and [j]
unsigned int tmp = data[i];
data[i] = data[j];
data[j] = tmp;
}
}
void QuickSort(unsigned int* data, int lo, int hi)
{
if (lo L hi)
{
int p = Partition(data, lo, hi);
QuickSort(data, lo, p);
QuickSort(data, p + 1, hi);
}
}
void QuickSort(unsigned int* data, int count)
{
if (count LE 1) return; // Added base case
QuickSort(data, 0, count - 1);
}
Software used to make this vid:
Visual Studio 2019 Community: visualstudio.com/downloads
Blender: blender.org
OBS: obsproject.com
Davinci Resolve 16: blackmagicdesign.com/products/davinciresolve
OpenOffice: openoffice.org
Gimp: gimp.org
80's 3D neon effect in the thumbnail is from Ducky 3D's: youtube.com/watch?v=hnLsktA4gmY
Background HDRI from thumbnail and intro is from HDRI Haven: hdrihaven.com
Office merch store: whats-a-creel-3.creator-spring.com
FaceBook: facebook.com/whatsacreel
In this 3 part series, we will explore sorting algorithms from the fundamentals all the up to implementations of both a comparison sort and a base 256 Radix Sort.
In this second video, we look at how counting sort, and then radix sort overcome the NLogN barrier and sort data in linear time!
Prefix Sum on Wikipedia: en.wikipedia.org/wiki/Prefix_sum
Software used to make this vid:
Visual Studio 2019 Community: visualstudio.com/downloads
Blender: blender.org
OBS: obsproject.com
Davinci Resolve 16: blackmagicdesign.com/products/davinciresolve
OpenOffice: openoffice.org
Gimp: gimp.org
80's 3D neon effect in the thumbnail is from Ducky 3D's: youtube.com/watch?v=hnLsktA4gmY&t=240s
Background HDRI from thumbnail and intro is from HDRI Haven: hdrihaven.com
Office merch store: whats-a-creel-3.creator-spring.com
FaceBook: facebook.com/whatsacreel
In this 3 part series, we will explore sorting algorithms from the fundamentals all the up to implementations of both a comparison sort and a base 256 Radix Sort.
In this first video, we explore why Comparison Sorts have a speed limit: O(nLogn).
Software used to make this vid:
Visual Studio 2019 Community: visualstudio.com/downloads
Blender: blender.org
OBS: obsproject.com
Davinci Resolve 16: blackmagicdesign.com/products/davinciresolve
OpenOffice: openoffice.org
Gimp: gimp.org
80's 3D neon effect in the thumbnail is from Ducky 3D's: youtube.com/watch?v=hnLsktA4gmY&t=240s
Background HDRI from thumbnail and intro is from HDRI Haven: hdrihaven.com
Office merch store: whats-a-creel-3.creator-spring.com
FaceBook: facebook.com/whatsacreel
In this video, we look at the basic floating point SIMD instructions to achieve Addition, Subtraction, Multiplication and Division. This introduction includes both double precision and single precision, and the SSE, SSE2 and AVX instruction sets. I have included both the Assembly versions of the instructions as well as the C++ compiler intrinsics.
The following two references from Intel and AMD feature the hardware specifications for these instructions:
Intel Programmer's Manuals:
software.intel.com/content/www/us/en/develop/articles/intel-sdm.html
AMD Developer Guides:
developer.amd.com/resources/developer-guides-manuals
Software used to make this vid:
Visual Studio 2019 Community: visualstudio.com/downloads
Blender: blender.org
Audacity: audacityteam.org
OBS: obsproject.com
Davinci Resolve 16: blackmagicdesign.com/products/davinciresolve
ASM Dude VS 2017 Extension: marketplace.visualstudio.com/items?itemName=Henk-JanLebbink.AsmDude
OpenOffice: openoffice.org
Gimp: gimp.org
Office merch store: whats-a-creel-3.creator-spring.com
FaceBook: facebook.com/whatsacreel
This video is an introduction to function pointers as used in C++ and C. We look at the basic syntax, and then run through examples of where function pointers are commonly used.
For a list of sources and inspiration for the code and information presented in this video, please see the end of this video description!
Software used to make this vid:
Visual Studio 2019 Community: visualstudio.com/downloads
OBS: obsproject.com
Davinci Resolve 16: blackmagicdesign.com/products/davinciresolve
ASM Dude VS 2017 Extension: marketplace.visualstudio.com/items?itemName=Henk-JanLebbink.AsmDude
OpenOffice: openoffice.org
Gimp: gimp.org
Further reading examples and inspiration for this video:
Microsoft Windows Forms programming guides:
docs.microsoft.com/en-us/cpp/windows/walkthrough-creating-windows-desktop-applications-cpp?view=vs-2019
Function Pointers in C and C++ by Alex Allain:
cprogramming.com/tutorial/function-pointers.html
Geeks for Geeks:
geeksforgeeks.org/function-pointer-in-c
The Cherno YouTube channel video on Function Pointers:
youtube.com/watch?v=p4sDgQ-jao4
Wikipedia:
en.wikipedia.org/wiki/Function_pointer
Stack Overflow – Many, many excellent questions and answers on this one!
stackoverflow.com
The sources and inspiration for this video are numerous. I have tried to include all the sources I read in preparation for this video, but if you believe I have used an example from your text without appropriate attribution, please contact me on FaceBook or YouTube :)
Office merch store: whats-a-creel-3.creator-spring.com
FaceBook: facebook.com/whatsacreel
In this video we look at branchless programming. This is a technique to gain speed in our high and low level programming by avoiding branching code as much as possible.
Software used to make this vid:
Visual Studio 2019 Community: visualstudio.com/downloads
OBS: obsproject.com
Davinci Resolve 16: blackmagicdesign.com/products/davinciresolve
OpenOffice: openoffice.org
Gimp: gimp.org
Office merch store: whats-a-creel-3.creator-spring.com
FaceBook: facebook.com/whatsacreel
This vid is just a fun quiz based on computer science and computers in general.
Images are from Wikipedia, except for:
HD Floppy Disk: http://res.freestockphotos.biz/pictures/1/1769-closeup-of-blank-floppy-disc-pv.jpg
Sound from final question from SoundBible:
http://soundbible.com
Software used to make this vid:
Blender: blender.org
Audacity: audacityteam.org
OBS: obsproject.com
Davinci Resolve 16: blackmagicdesign.com/products/davinciresolve
OpenOffice: openoffice.org
Gimp: gimp.org
Office merch store: whats-a-creel-3.creator-spring.com
FaceBook: facebook.com/whatsacreel
This is the second video in a series on Set Associative Caches. This video is a commentary on the caches used selected in AMD and Intel CPU's over the years, including Ryzen and i9's released at the end of 2019 and beginning of 2020.
Software used to make this vid:
Audacity:
audacityteam.org
OBS:
obsproject.com
Davinci Resolve 16:
blackmagicdesign.com/products/davinciresolve
Gimp:
gimp.org
Office merch store: whats-a-creel-3.creator-spring.com
FaceBook: facebook.com/whatsacreel
This is the first video in a 2 part series discussing Set Associative Caches. These are the types of caches on AMD and Intel CPU's. In this video, we look at how a set associative cache works, and explain the numbers set associativity, cache line size, tag, offset and index. Showing how the CPU addresses RAM, and stores cache lines in a set associative cache.
Software used to make this vid:
Blender:
blender.org
Audacity:
audacityteam.org
OBS:
obsproject.com
Davinci Resolve 16:
blackmagicdesign.com/products/davinciresolve
OpenOffice:
openoffice.org
Office merch store: whats-a-creel-3.creator-spring.com
FaceBook: facebook.com/whatsacreel
In this video we'll explore some more advanced algorithms using Agner Fog's Vector Class Library. These are graphical examples, fractals, emulating HDR (High Dynamic Range), and a small teaser for an upcoming project which is a 64 bits per channel non-destructive image editor.
Agner Fog's GitHub with the latest source for VCL:
github.com/vectorclass
Software used to make this vid:
Visual Studio 2019 Community:
visualstudio.com/downloads
Blender:
blender.org
Audacity:
audacityteam.org
OBS:
obsproject.com
Davinci Resolve 16:
blackmagicdesign.com/products/davinciresolve
OpenOffice:
openoffice.org
Office merch store: whats-a-creel-3.creator-spring.com
FaceBook: facebook.com/whatsacreel
This video is an introduction to Quantum Computing!
Quirk Quantum Simulator:
algassert.com/quirk
IBM Quantum Experience:
ibm.com/quantum-computing/technology/experience
IBM Quantum Computer image from Wikipedia.
Software used to make this vid:
Gimp:
gimp.org
Blender:
blender.org
Audacity:
audacityteam.org
OBS:
obsproject.com
Davinci Resolve 16:
blackmagicdesign.com/products/davinciresolve
OpenOffice:
openoffice.org
Support What's a Creel? on Patreon:
patreon.com/whatsacreel
FaceBook:
facebook.com/whatsacreel
Music Channel:
youtube.com/channel/UC2nWRGqPL6O-Lm8mexWhISQ
Another channel with random things:
youtube.com/channel/UCK7bPumWNzWRnb3N8LCzKsA
Software used to make this vid:
Visual Studio 2019 Community:
visualstudio.com/downloads
Blender:
blender.org
Audacity:
audacityteam.org
OBS:
obsproject.com
Davinci Resolve 16:
blackmagicdesign.com/products/davinciresolve
OpenOffice:
openoffice.org
HDRI backgrounds in the 3D animations from HDRI Haven:
hdrihaven.com
Source code is not yet available. I will update this description when it is uploaded. Thanks for watching all!
Support What's a Creel? on Patreon:
patreon.com/whatsacreel
FaceBook:
facebook.com/whatsacreel
Music Channel:
youtube.com/channel/UC2nWRGqPL6O-Lm8mexWhISQ
Another channel with random things:
youtube.com/channel/UCK7bPumWNzWRnb3N8LCzKsA
Software used to make this vid:
Visual Studio 2019 Community:
visualstudio.com/downloads
OBS:
obsproject.com
Davinci Resolve 16:
blackmagicdesign.com/products/davinciresolve
OpenOffice:
openoffice.org
Support What's a Creel? on Patreon:
patreon.com/whatsacreel
FaceBook:
facebook.com/whatsacreel
Music Channel:
youtube.com/channel/UC2nWRGqPL6O-Lm8mexWhISQ
Another channel with random things:
youtube.com/channel/UCK7bPumWNzWRnb3N8LCzKsA
Software used to make this vid:
Visual Studio 2019 Community:
visualstudio.com/downloads
Audacity:
audacityteam.org
OBS:
obsproject.com
Davinci Resolve 16:
blackmagicdesign.com/products/davinciresolve
OpenOffice:
openoffice.org
Gimp:
gimp.org
Support What's a Creel? on Patreon:
patreon.com/whatsacreel
FaceBook:
facebook.com/whatsacreel
Music Channel:
youtube.com/channel/UC2nWRGqPL6O-Lm8mexWhISQ
Another channel with random things:
youtube.com/channel/UCK7bPumWNzWRnb3N8LCzKsA
Software used to make this vid:
Visual Studio 2019 Community:
visualstudio.com/downloads
OBS:
obsproject.com
Davinci Resolve 16:
blackmagicdesign.com/products/davinciresolve
OpenOffice:
openoffice.org
Download the benchmark from github below, test your own system against the fiery Phenom II. Leave a comment of your results, and please leave a thumbs up to support this channel. Thank you, have a good one :)
Support What's a Creel? on Patreon:
patreon.com/whatsacreel
Github:
github.com/TheRainDoodle/Phenom-II-Benchmark
FaceBook:
facebook.com/whatsacreel
Music Channel:
youtube.com/channel/UC2nWRGqPL6O-Lm8mexWhIS
Software used to make this vid:
Visual Studio 2019 Community:
visualstudio.com/downloads
Blender:
blender.org
OBS:
obsproject.com
Davinci Resolve 16:
blackmagicdesign.com/products/davinciresolve
I have included the Patreons that made this video possible below. Thank you for your support mates :)
Sources for original algorithms:
Quicksort: en.wikipedia.org/wiki/Quicksort
Radix sort: geeksforgeeks.org/radix-sort
(Change the base to 256 if you use this code!)
Bubble Sort: en.wikipedia.org/wiki/Bubble_sort
Selection Sort: en.wikipedia.org/wiki/Selection_sort
Insertion Sort: en.wikipedia.org/wiki/Insertion_sort
Shell Sort: en.wikipedia.org/wiki/Shellsort
Support What's a Creel? on Patreon:
patreon.com/whatsacreel
FaceBook:
facebook.com/whatsacreel
Music Channel:
youtube.com/channel/UC2nWRGqPL6O-Lm8mexWhISQ
Another channel with random things:
youtube.com/channel/UCK7bPumWNzWRnb3N8LCzKsA
Patreons:
Alexander Dahlin
Alve Larsson
Augusto Righetto
Awon Ali
Blaz
Carsten Hansen
Cato Larsen
Chris Lidyard
Christer Borgqvist
Curtis Seizert
Darby Burbidge
dominic pace
Dominik Wyss
Floris Bob van Elzelingen
Geert Depuydt
Gurpreet Singh
James Mearns
Jeffrey Knuckle
Josef Aguilar
Joshua Smyth
Luke Duguid
Martin Champagne
Martin Cohen
Matheus Salvia
Matthew Livernoche
Micah Rust
Michael Pearce
Patreonic
Pavel Bibergal
Rahul Nair
Renwick Preston
Robert Jacobson
Roman Kozak
Ross Young
Steffen André Langnes
Taylor
Thomas
Todd Cullum
Tom Marazzo
Wathinti Abafazi
William Allen
Yichao Shen
Zhixun He
Software used to make this vid:
Visual Studio 2019 Community:
visualstudio.com/downloads
Synfig:
synfig.org
Gimp:
gimp.org
Audacity:
audacityteam.org
OBS:
obsproject.com
Davinci Resolve 16:
blackmagicdesign.com/products/davinciresolve
Support What's a Creel? on Patreon:
patreon.com/whatsacreel
FaceBook:
facebook.com/whatsacreel
Music Channel:
youtube.com/channel/UC2nWRGqPL6O-Lm8mexWhISQ
Another channel with random things:
youtube.com/channel/UCK7bPumWNzWRnb3N8LCzKsA
Software used to make this vid:
Visual Studio 2019 Community:
visualstudio.com/downloads
Audacity:
audacityteam.org
OBS:
obsproject.com
Davinci Resolve 16:
blackmagicdesign.com/products/davinciresolve
Thank you Bob and Trish, for lending me your living once again :)
Activation Functions Wikipedia:
en.wikipedia.org/wiki/Activation_function
E mathematical constant Wikipedia:
en.wikipedia.org/wiki/E_(mathematical_constant)
Andrew Ng's Coursera Course (no programming, but it's very good!)
coursera.org/learn/machine-learning
Support What's a Creel? on Patreon:
patreon.com/whatsacreel
FaceBook:
facebook.com/whatsacreel
Music Channel:
youtube.com/channel/UC2nWRGqPL6O-Lm8mexWhISQ
Another channel with random things:
youtube.com/channel/UCK7bPumWNzWRnb3N8LCzKsA
Software used to make this vid:
Visual Studio 2019 Community:
visualstudio.com/downloads
Blender:
blender.org
Audacity:
audacityteam.org
OBS:
obsproject.com
Davinci Resolve 16:
blackmagicdesign.com/products/davinciresolve
Link to Compiler Explorer:
godbolt.org
Sorry, but I accidentally specified the MS compiler's AVX2 flag wrong, so it didn't AVX2 anything... :( Anywho, here are the compiler settings I was using for each compiler (with the amended MS AVX2 flag):
Clang 9: -O3 -march=core-avx2 -m64 -cl-fast-relaxed-math
GCC 9.2: -O3 -mavx2 -funsafe-math-optimizations
Intel ICC 19.0.1: -Ofast -march=core-avx2 -m64
MSVC 19.22: -O3 /arch:AVX2 /Ox /fp:fast
Support What's a Creel? on Patreon:
patreon.com/whatsacreel
FaceBook: facebook.com/whatsacreel
Music Channel: youtube.com/channel/UC2nWRGqPL6O-Lm8mexWhISQ
Another channel with random things: youtube.com/channel/UCK7bPumWNzWRnb3N8LCzKsA
Software used to make this vid:
Visual Studio 2019 Community:
visualstudio.com/downloads
Blender:
blender.org
OBS:
obsproject.com
Davinci Resolve 16:
blackmagicdesign.com/products/davinciresolve
Meshroom:
alicevision.github.io
Latest Version of VCL available on GitHub:
github.com/vectorclass/version2/releases
Agner Fog's website:
agner.org
Support What's a Creel? on Patreon:
patreon.com/whatsacreel
FaceBook:
facebook.com/whatsacreel
Music Channel:
youtube.com/channel/UC2nWRGqPL6O-Lm8mexWhISQ
Another channel with random things:
youtube.com/channel/UCK7bPumWNzWRnb3N8LCzKsA
Software used to make this vid:
Visual Studio 2019 Community:
visualstudio.com/downloads
OBS:
obsproject.com
Davinci Resolve 16:
blackmagicdesign.com/products/davinciresolve
Support What's a Creel? on Patreon:
patreon.com/whatsacreel
FaceBook:
facebook.com/whatsacreel
Music Channel:
youtube.com/channel/UC2nWRGqPL6O-Lm8mexWhISQ
Another channel with random things:
youtube.com/channel/UCK7bPumWNzWRnb3N8LCzKsA
Software used to make this vid:
Visual Studio 2019 Community:
visualstudio.com/downloads
Blender:
blender.org
OBS:
obsproject.com
Davinci Resolve 16:
blackmagicdesign.com/products/davinciresolve
Meshroom:
alicevision.github.io
Support What's a Creel? on Patreon:
patreon.com/whatsacreel
FaceBook:
facebook.com/whatsacreel
Music Channel:
youtube.com/channel/UC2nWRGqPL6O-Lm8mexWhISQ
Another channel with random things:
youtube.com/channel/UCK7bPumWNzWRnb3N8LCzKsA
Software used to make this vid:
Visual Studio 2019 Community:
visualstudio.com/downloads
Blender:
blender.org
Audacity:
audacityteam.org
OBS:
obsproject.com
Davinci Resolve 16:
blackmagicdesign.com/products/davinciresolve
Meshroom:
alicevision.github.io
Support Creel on Patreon:
patreon.com/whatsacreel
Perfect Storm (new song!):
youtu.be/7yFwRmaxA8E
Or support by purchasing Official merchandise:
teespring.com/stores/whats-a-creel-3
FaceBook:
facebook.com/whatsacreel
Music Channel:
youtube.com/channel/UC2nWRGqPL6O-Lm8mexWhISQ
RustUp-Init:
rust-lang.org/tools/install
Another channel with random things:
youtube.com/channel/UCK7bPumWNzWRnb3N8LCzKsA
Software used to make this vid:
Visual Studio 2019 Community:
visualstudio.com/downloads
Blender:
blender.org
Audacity:
audacityteam.org
OBS:
obsproject.com
Davinci Resolve 16:
blackmagicdesign.com/products/davinciresolve
Meshroom:
alicevision.github.io
Thank you to Patrons past and present:
Alexander Dahlin, Alve Larsson, Andy Torres, Anthony Van de Gejuchte, Augusto Righetto, Awon Ali, Blaz, Carsten Hansen, Chris Lidyard, Christer Borgqvist, Curtis Seizert, Darby Burbidge, Dominik Wyss,Dorin,Floris Bob van Elzelingen,Geert Depuydt,Gurpreet Singh,James Mearns,Jeffrey Knuckle,Josef Aguilar,Joshua Smyth,King Gore,Lukas Waymann,Luke Duguid,Martin Champagne,Martin Cohen,Matheus Salvia,Matthew Livernoche,Micah Rust,Mr. Penguin,Parker Lai,Patreonic,Peter B,Renwick Preston,Robert Jacobson,Roman Kozak,Ross Young,Steffen André Langnes,Taylor,Thomas,Todd Cullum,Tsuki Zombina,Wathinti Abafazi,William Allen,Yichao Shen,Zhixun He
Special Cheers for amazing contribs:
dominic pace
Cato Larsen
and Michael Pearce
Patreon:
patreon.com/whatsacreel
Or support by purchasing Official merchandise:
teespring.com/stores/whats-a-creel-3
Song "Perfect Storm":
youtube.com/watch?v=7yFwRmaxA8E
FaceBook:
facebook.com/whatsacreel
Music Channel:
youtube.com/channel/UC2nWRGqPL6O-Lm8mexWhISQ
Another channel:
youtube.com/channel/UCK7bPumWNzWRnb3N8LCzKsA
Software used to make this vid:
Visual Studio 2019 Community:
visualstudio.com/downloads
Audacity:
audacityteam.org
OBS:
obsproject.com
Davinci Resolve 16:
blackmagicdesign.com/products/davinciresolve
Gimp 2.10.8:
gimp.org
Open Office 4:
openoffice.org
Patreon:
patreon.com/whatsacreel
Purchasing Official merchandise:
teespring.com/stores/whats-a-creel-3
FaceBook:
facebook.com/whatsacreel
New song (Perfect Storm):
youtube.com/watch?v=7yFwRmaxA8E
Music Channel:
youtube.com/channel/UC2nWRGqPL6O-Lm8mexWhISQ
Another channel with random things:
youtube.com/channel/UCK7bPumWNzWRnb3N8LCzKsA
Software used to make this vid:
Visual Studio 2019 Community:
visualstudio.com/downloads
Blender:
blender.org
Audacity:
audacityteam.org
OBS:
obsproject.com
Davinci Resolve 16:
blackmagicdesign.com/products/davinciresolve
Meshroom:
alicevision.github.io
We also code the Hadamard product, element-wise addition and subtraction. We will use all of these methods when we implement Forward and Back propagation.
Support What's a Creel? on Patreon:
patreon.com/whatsacreel
Or support by purchasing Official merchandise:
teespring.com/stores/whats-a-creel-3
FaceBook:
facebook.com/whatsacreel
Music Channel:
youtube.com/channel/UC2nWRGqPL6O-Lm8mexWhISQ
Another channel with random things:
youtube.com/channel/UCK7bPumWNzWRnb3N8LCzKsA
Software used to make this vid:
Visual Studio 2017 Community:
visualstudio.com/downloads
Blender:
blender.org
Audacity:
audacityteam.org
OBS:
obsproject.com
Davinci Resolve 16:
blackmagicdesign.com/products/davinciresolve
Meshroom:
alicevision.github.io
Support What's a Creel? on Patreon:
patreon.com/whatsacreel
Or support by purchasing Official merchandise:
teespring.com/stores/whats-a-creel-3
FaceBook:
facebook.com/whatsacreel
Music Channel:
youtube.com/channel/UC2nWRGqPL6O-Lm8mexWhISQ
Another channel with random things:
youtube.com/channel/UCK7bPumWNzWRnb3N8LCzKsA
3Blue1Brown vids on Neural Nets:
youtube.com/watch?v=aircAruvnKk&t=4s
Coursera course on Neural Nets:
coursera.org/learn/neural-networks-deep-learning
Michael Nielsen's online NN book:
http://neuralnetworksanddeeplearning.com
Visual Studio 2017 Community:
visualstudio.com/downloads
Blender:
blender.org
Audacity:
audacityteam.org
OBS:
obsproject.com
Davinci Resolve 16:
blackmagicdesign.com/products/davinciresolve
Meshroom:
alicevision.github.io
If you want to support this channel and/or project jump over to Patreon:
patreon.com/whatsacreel
Or support by purchasing Official merchandise:
teespring.com/stores/whats-a-creel-3
FaceBook:
facebook.com/whatsacreel
Music Channel:
youtube.com/channel/UC2nWRGqPL6O-Lm8mexWhISQ
Another channel with random things:
youtube.com/channel/UCK7bPumWNzWRnb3N8LCzKsA
Software used to make this vid:
Visual Studio 2017 Community:
visualstudio.com/downloads
Blender:
blender.org
Audacity:
audacityteam.org
OBS:
obsproject.com
Davinci Resolve 16:
blackmagicdesign.com/products/davinciresolve
Meshroom:
alicevision.github.io
Get the source code, outtakes, early access, etc. support What's a Creel? on Patreon:
patreon.com/whatsacreel
Or support by purchasing Official merchandise:
teespring.com/stores/whats-a-creel-3
LLVM (Clang++):
llvm.org
LLVM Compiler Toolchain (for integration with Visual Studio):
marketplace.visualstudio.com/items?itemName=LLVMExtensions.llvm-toolchain
Support What's a Creel? on Patreon:
patreon.com/whatsacreel
FaceBook:
facebook.com/whatsacreel
Music Channel:
youtube.com/channel/UC2nWRGqPL6O-Lm8mexWhISQ
Another channel with random things:
youtube.com/channel/UCK7bPumWNzWRnb3N8LCzKsA
Software used to make this vid:
Visual Studio 2017 Community:
visualstudio.com/downloads
Blender:
blender.org
Audacity:
audacityteam.org
OBS:
obsproject.com
Davinci Resolve 16:
blackmagicdesign.com/products/davinciresolve
ASM Dude VS 2017 Extension:
marketplace.visualstudio.com/items?itemName=Henk-JanLebbink.AsmDude
Meshroom:
alicevision.github.io
Cheers to Agner Fog for his amazing work, and for his kind review and suggestions in the final edit :)
Agner Fog's website:
agner.org/optimize
Or support by purchasing Official merchandise:
teespring.com/stores/whats-a-creel-3
Support What's a Creel? on Patreon:
patreon.com/whatsacreel
FaceBook:
facebook.com/whatsacreel
Other Channel:
youtube.com/channel/UCK7bPumWNzWRnb3N8LCzKsA
Music Channel:
https://www.youtube.com/channel/UC2nW...
Software used to make this vid:
Visual Studio 2017 Community:
visualstudio.com/downloads
OBS:
obsproject.com
Davinci Resolve 16:
blackmagicdesign.com/products/davinciresolve
ASM Dude VS 2017 Extension:
marketplace.visualstudio.com/items?itemName=Henk-JanLebbink.AsmDude
I really picked a terrible spot to record this one. I will try not to record in the wind again. I am trying to get into a more regular upload schedule. Sorry in advance if the audio is difficult to hear.
This vid is an answer to a comment from Belgian Geek. If you watch it mate, I hope it's of some help :)
Or support by purchasing Official merchandise:
teespring.com/stores/whats-a-creel-3
Patreon:
patreon.com/whatsacreel
FaceBook:
facebook.com/whatsacreel
Music Channel:
https://www.youtube.com/channel/UC2nW...
Software used to make this vid:
Visual Studio 2017 Community:
visualstudio.com/downloads
Audacity:
audacityteam.org
OBS:
obsproject.com
Shotcut:
shotcut.org
ASM Dude VS 2017 Extension:
marketplace.visualstudio.com/items?itemName=Henk-JanLebbink.AsmDude
Renoise (for it's amazing hi pass filters and EQ; it aint free but it's really, really good!
renoise.com
Support What's a Creel? on Patreon:
patreon.com/whatsacreel
Or support by purchasing Official merchandise:
teespring.com/stores/whats-a-creel-3
FaceBook:
facebook.com/whatsacreel
Wikipedia Entry for Euclid's Algorithm:
en.wikipedia.org/wiki/Euclidean_algorithm
AMD Manuals:
developer.amd.com/resources/developer-guides-manuals
Intel Manuals:
software.intel.com/en-us/articles/intel-sdm
Software used to make this vid:
Visual Studio 2017 Community:
visualstudio.com/downloads
Audacity:
audacityteam.org
Gimp:
gimp.org
OBS:
obsproject.com
Shotcut:
shotcut.org
ASM Dude VS 2017 Extension:
marketplace.visualstudio.com/items?itemName=Henk-JanLebbink.AsmDude
Support What's a Creel? on Patreon:
patreon.com/whatsacreel
Or support by purchasing Official merchandise:
teespring.com/stores/whats-a-creel-3
FaceBook:
facebook.com/whatsacreel
Music Channel:
https://www.youtube.com/channel/UC2nW...
Software used to make this vid:
Visual Studio 2017 Community:
visualstudio.com/downloads
Audacity:
audacityteam.org
Gimp:
gimp.org
OBS:
obsproject.com
Shotcut:
shotcut.org
ASM Dude VS 2017 Extension:
marketplace.visualstudio.com/items?itemName=Henk-JanLebbink.AsmDude
Sorry about the background noise at points.
Or support by purchasing Official merchandise:
teespring.com/stores/whats-a-creel-3
Support What's a Creel? on Patreon:
patreon.com/whatsacreel
FaceBook:
facebook.com/whatsacreel
Music Channel:
https://www.youtube.com/channel/UC2nW...
AMD Programmer's Manuals:
developer.amd.com/resources/developer-guides-manuals
Intel Programmer's Manuals:
software.intel.com/en-us/articles/intel-sdm
Software used to make this vid:
Visual Studio 2017 Community:
visualstudio.com/downloads
Audacity:
audacityteam.org
Gimp:
gimp.org
OBS:
obsproject.com
Shotcut:
shotcut.org
ASM Dude VS 2017 Extension:
marketplace.visualstudio.com/items?itemName=Henk-JanLebbink.AsmDude
This video is my own work, and if there's mistakes, it's very likely they are my own! It's also likely the love story between VIA and Cyrix, and conversation between Intel and AMD are largely, if not entirely, fictional.
Still working on production flow. This one's got a new green screen. It kinda works, and kinda not. Anywho, hopefully this video can be the start of many based on the optimization techniques presented in Mr. Fog's manuals.
Agner's website:
agner.org
Or support by purchasing Official merchandise:
teespring.com/stores/whats-a-creel-3
Optimization manuals:
agner.org/optimize/#manuals
ForwardCom Open Instruction Set standard:
agner.org/optimize/#instructionset
Support What's a Creel? on Patreon:
patreon.com/whatsacreel
FaceBook:
facebook.com/whatsacreel
Music Channel:
https://www.youtube.com/channel/UC2nW...
Software used to make this vid:
Visual Studio 2017 Community:
visualstudio.com/downloads
Blender:
blender.org
Audacity:
audacityteam.org
Gimp:
gimp.org
OBS:
obsproject.com
Shotcut:
shotcut.org
Canon EOS Utility:
usa.canon.com/internet/portal/us/home/support/self-help-center/eos-utility


