This is the beast in the world of Graphics Processing Units.
Original image mspaint le open panni 5x zoom pannpaarunga that’s the sheer power of CPU combined with GPU. Top entry to bottom exit just under a second.
Inna Machine Learning enmaaana GPU le execute pannuteke mugisi kathe, people are already trying, they are giving AI to GPU. Literally as of now they are building miniature Skynet, freakin neural network based conscious group mind base.
Output was just one of my recent breath taking wow moments in my life.!!
GPU le deep dive pannonu annutu ethnio naalu indha aasey. Indh GPU deep dive pannindhu thakshnu CPU pandru as told by one of the elite Thigala.
Varru kaaluthle enn friend ootle just 2 MB RAM and 20 MB hard drive ehtni duddu kudthanglo therrile, atheve upgrade panpichanga Windows 98 ku with 200 MB of Hard drive @ the cost of 98,000/- INR.
Appa endh journey start aindhu innu varru level ku reach aagule.
8 bit graphics le aadindhu ootle ikkru TV le.
Engindha start pannono engik end pannono therrithaille.
GPU bagge sonnonu anneke GPU ulla ikkru hardware internals sonnonu, andh h/w le ikkru billion of transistors bagge sonnonu, indh transistors operate pandrudu electrons, inna indh tiny atomic particles nenskineke Quantum Physics gyaanu vandhurdu.
GPU anneke most exiting thing rendering, draw calls, OpenGL, Shader Core, Compute Engines, computation capability, ultimately for laymen it is what we see on the monitors.
Ethni billion instructions execute pandho therrile.
Planet le ikkurdhu top GPU giants are nVidia and AMD.
GPU lockup aasi anneke varthara maja.
GPU reset aasi anneke innorthara maja.
Lockup and reset aagru time period madhyuthle GPU behaviour uhaa sondruthke aagurdle atni maja.
20 years back aadindhu game Quake 3 tourni, source code le varru peculiar magic number for computing Fast inverse square root written by John Carmack, woah annutu anpikksi.
Quake game utteke one of my fav legacy game DOOM.. paiiyaa game indha ippa release aikru game
Uhhaaa.. end users intha game pathuteke intense violence anpikdu, but indh GPU thigala sondru prakaaru its a mathematical marvel. Lots of mathematical computations involve aikmama. Example instance character movements should meet real world assignments, key press should match exact movements, gravity, light rays, shadows, particle physics, smoke, artificial intelligence, photo realistic world, co-ordinate systems, 2D and 3D scenes, depth calculations, color grading.
CPU and GPU both are almost same but they are designed for different uses.
GPU disect panneke CU (Control Unit), Many types of internal memories, Texture Mapping Units, Thread Dispatchers, ethni shaders ikkmo therrile, ROPS, Vertex Assemblers, Geometry Assemblers, Rasterizers, Command Processors, Samplers, ethnio data busses ikkmu.
1998 le aadindinu game DOOM but ippa paatheke totally revamped. Indh game le ikkru character Revenant and Mancubus uhaa..
Fight like hell cinematic :
1999 le aadindhu game Hexen, varru level le myself and enn dosth varthu rondu perru almost a month stuck aindhu varru level le. Freaky monsters engindha eppa vardho annutu screwup diglu, health portals sikkule anneke minniki porruke aagthakulle.
Endhu fav developers vandhutu ID software.
Arcade games indha First Person Shooter pudshi, Role Playing games ella thara games ruchi paathutindu. Appa andh kaaluthle yaarku indhella therjikullle.
Days of 5 quarter inch floopy. Enmo therrile anki thale le flag potkinu indh machines ulla enna aagthaagdu annutu at any cost I should know annutu prathigne pannindhu. Idhu varrku research panthaane ikkru. Thanks to this GPU Thigala, en enmo insights ella therrithaagdu.
The only game which I had ever spent in my life is Tomb Raider. Indh Lara Croft thara yaarana Thiglinga ikkvangla annutu naanu thedruku kuda pogule.
Ethnio games le varrudu soundtracks, there are people who can sustain any amounts of pain for their surgery without anaesthetic while listening to such music. One of such playlists of myn includes track listings from Assassins Creed and Skyrim.
Indhthara advanced games smootha GPU draw pannonu anneke CPU should be sending proper and right information at a right time and GPU should be consuming these data or instructions right on time ille anneke Physics correcta apply aagurdle. Indh topic anthu enku all time fav.
Let me dive into the world of CPU and GPU.
CPU interacting with the GPU anneke enku first varrudu synchronization. This is the world where these two devices are tightly coupled on various levels. To tell in one word "Timing" is everything here. CPU is always the producer and GPU is always the consumer and ofcourse there are special cases where both gets entangled
Timing anneke innu en enmo gyaanu vandhurdu, Exceptions, Interrupts, Traps, Aborts adhu utteke assembly code executing atomic instructions across critical sections. Inna critical section synchronization anneke which is my all time fav stuffs indh area le Mutual Exclusion, Semaphores, Spin Locks plays a major role. Process context switch, hardware context idhella varru level le fair idea indhekke maathru varru idea sigdu. Ille anneke CPU/GPU anneke just orru hardware annutu summa aidranga.
Operating System is the life support for CPU and GPU, OS ille anneke rondu context le ikkurdle. So CPU, GPU, OS utteke innu there are so many other things which are under limelight. Its the BOOT program and POST (Post On Self Test) /PBIT (Power on Built in Test) /CBIT (Continuous Built in Test) / IBIT (initiated Built in Test) idhella sarriya results vanchi anneke maathru bare minimal requirements for smoother operations.
Inki dated 01, March, 2017 nVidia unveiled The GeForce GTX 1080 Ti – 3584 CUDA cores. 11GB of VRAM. Faster than TITAN X.
I was a gaming freak, started my gaming life right from my childhood. My journey started from Mario.
There is lot more stories to say about Half Life game. Ootle paiyya PC, friend varthu poodhu laptop vankina adhle 3D card vere inchi, first grab pannutu ootku konandhutu. Ehtni naalu aaduno therrile Half Life Episode 1 and 2. Ankindha inki varku Half Life Episode 3 wait panthaane ikkru panthaane ikkru developers and publishers have killed the next sequel. Many people for their funeral they wished to play soundtracks from this game. Indh game le varru level le bugbait annutu thought process uhaa.. poodhu laptop aadi aadi almost burn aagru stage le poitinchi. Antlions, Vortigaunt, Gordon Freeman remained in my mind from my childhood. They rocked my world for quite a long time. Varru level le striders AI epdi inchi anneke they are coming from every direction that was what the fuck moment with mouth wide open.
Graphics card anneke en enmo gyaanu vandhurdu adhle top most anneke are the following:
Geometry Shader (innu 10 types of shaders igdunga)
Pixel Fillrate, engindha start pannono engik end pannono therrithaille.
My fav are Shader Core’s, Shader programming.
Vector processors, SIMD engines again its my all time fav topic. Shader core’s le transcendental operations pandru varru fat little FPU igdu adhru bagge yochne panneke apde thooku vandhurdu.
Quake III arena was one of my FPS of all time,
Inki March 8th paathindhu video close Beta record footage:
www.youtube.com/watch?v=QBEMCbxY9Nc @ 22nd second was my signature move with the rail gun..Oompha..!!
Rondu company collaboration indh game Bethesda Studios and ID software (paiyya company).
Bethesda studios anneke one of my most recent game nearly 2 years aadikru game Skyrim gyaanu apdi vandhu ipdi podhu. 🙂
CPU and GPU madhyuthle varrudhu PCIe X channel these lines are high bandwidth transporters.
Australia indha import panpichindu endhu first personnal desktop computer andh pc le just PCI bus maathru inchi, anki demanding GPU ku atleast AGP slot aagonsinchi. Import pannindhu tax, purchase bills ella upgrade pandrukku aagule.
There are many stages of inside a GPU pipeline. One such are Vertex data gets pumped by CPU to Vertex Shader -> Primitive Assembly -> Projection -> Rasterize -> Fragment Shader -> Frame Buffer -> Screen. Recent updates to GPU which includes Unified Shader Cores, which even takes up the job of earlier dedicated cores. These reminds me of PTX (Parallel Thread eXecution) instructions from nVidia and VLIW (Very Long Instruction Word) instructions from AMD. I had a good time with one of the VLIW instruction called "IMMED" works on immediate mode. Each stages le ethnio hundreds of sub stages igdunga.
To keep up the speed with high speed GPU’s often the CPU code is optimized with the help of SIMD (Single Instruction Mutliple Data) instructions.
One can look into this part of web:
I had made my hands dirty for SSE2 Intrinsics.
As of now Mind ella GPU fill aitigdu. Time and Space partitioning bagge therjinchi but recentaa varru theory odhnu, thale pudshkinudsi and that is GPU state partitioning. GPU is a complex state machine. Hardware context plays a vital role in any scene rendering.
GPU ulla threads epdi schedule aagdu annutu only few people on the planets are aware. Arbiter program, Dispatcher program, uhaa nenskineke thooku vandhurdu.
Thooku vandhaappa ella thooku pogonu anneke GPU gems annutu varru book igdu, indh books nenskineke amsu, thooku odpodhu, inna odhuteke enna aagdho therrile, but varthara interesting books. Medical books ana ukkonkinu odudlaamu, but GPU gems books le ikkru just theories arthu aagonu anneke diversified Mathematics and Physics le uber geek level le progress aikonu.
Indh above link le light particle skin ku penetrate aasi anneke andh particles skin mele ikkru smooth oil surface ulla poitu first layer Epidermis and second layer Dermis rondu combinations indha appale vandhappa epdi ikkmu annutu vere formulate pannikranga, its just an example, so Biology kuda therjikonu GPU internals le yaale pannonu anneke.
Half Life developers made Portal and Portal 2, mind bending puzzles ootle room chilka potkinu, day night aadikru. Naastha waana, Sapadu waana, ennu waana, screwup puzzles solve pannuteke amsu, varru varru level solve pannuteke enmo life le accomplish panikrapdi kushi.
Stuck anappa help kekurku friend circle le yaarku therrile, yaaru aadrangle ille. Aadi aadi kayi, kaithu, kann guddenga ella crack aitu apdinu udthakulle pain full endings with success of limited joy.
Tomb Raider anthu ehtni varshu gatle aadutikruno therrile. Adhle Tomb Raider 4 ippkinu finish pannule. Tomb Raider 2 le Yetinga varrdu varru level le, varaati aadrappa unexpected yeti vandhudsi, face ella heated red aipossi.
www.youtube.com/watch?v=g09gvhmhzGg : Yeti Scene, freaking moments.
GPU core depth level le pesonu anneke assembly language instructions knowledge ikkonu, instruction loads and stores epdi agud annutu therjindheke rothni help aagdu plus out of order control logic, fancy branch predictor, memory pre-fetcher working principles thejindheke innu nanna. All these are made to run across vector processors. Adhle most kept secrets are how the hardware determines instruction streams which eventually sharing across thousands of ALUs.
Most beautiful occurrences are GPU going to limbo state finally getting landed up stalling.
CPU or GPU if anyone is programming they are often encountered with atomicity dealing with atomic instructions and operations.
when I first programmed the below Bit Test and Set ASM code it was wow kinda feeling because the instruction BTS/CMPXCHG lays the foundations for most complex software architectures solutions: The Mutex or Mutually Exclusive and The Semaphores.
mov ebx, 0xDEADC0DE
mov eax, 0xCAFEBABE
bts [ebx], eax
xor eax, eax
GPU le timing is everything, timing anneke instruction loading, fetching, execution should keep happening smoothly, if any of those are hampered this causes event upsets, instruction synchronization with data goes for a toss, memory access pattern also gets changed in due time causing various dependencies and finally leading to failure or resets.
If you are using nVidia GPU and by any chance if your CPU isnt happy with drivers installed, then one can see display flick with black screen eventually GPU recovering. Standard message pops up "Windows has stopped this device because it has reported problems", I just love this message to make my mind and hands dirty.
System gives no sh*t and nobody would give any sh*t either by OS makers or GPU makers. OS makers would point their finger to GPU makers and vice versa, for end users they usually blame Windows OS is a big time pain.
Debug pandruthku varrudle jannungulku, PC le enna aagthagdu annutu yaarku therridle. takes a great deal of effort to figure out indh behavior, there could be a question why if GPU goes for a toss the entire OS fails and resetting the processor and hardware.
The answer lies in these two modes User Mode and Kernel Mode there are other modes like Real Mode and Protected Mode adhu ippa waana. Hitting keyboard inside kernel mode I would probably say its not for ordinary humans, these people are geeks of the geeks.
Each process ku its own address spaces ikkmu, ella process GPU registers share pandhunga. So every time execution pandrappa Kernel will ensure that specific register info is loaded. So inthara specific info which gets loaded just before CPU resumes its executional operations is coined as hardware context.
Intel 80×86 architecture le specific segment types igdu adhle onnu Task State Segment annutu which is used to store hardware contexts. Each TSS have their own 8-byte Task State Segment Descriptor. These descriptors includes a 32-bit Base field that points to the TSS starting address.
And that was Naomi Kyle in Tomb Raider costume that was oompha..!!
youtu.be/Ai3dqIWsxYY?t=6m43s that moment took the hell out of me.
Typical Shader code in assembly :
sample r0, v4,t0,s0
mul r3, v0, cb0 madd r3, v1, cb0, r3
madd r3, v2, cb0, r3
clmp r3, r3, l(0.0), l(1.0)
mul o0, r0, r3
mul o1, r1, r3
mul o2, r2, r3
mov o3, l(1.0)
The same code in high level :
float4 diffuseShader(float3 normals, float2 uv_cord)
x = myTex.Sample(mySamp, uv_cord);
x *= clamp( dot(lightSource, normals), 0.0, 1.0);
return float4(x, 1.0);
Most of the games which we play would be running inside a infinite loop, basically this is how a game engine loops itself the only way coming out of this loop is program should make a gracefull exit.
Today’s GPU outperform traditional CPUs by an many order of magnitude in terms of floating-point operations per second.
CPU and GPU rondu interact aagurdu commen sweet spot is our RAM, depending upon the kind of data and instructions passed on adru prakaaru memory policies set pandranga, what I mean here is about setting desired cache policies. Write Combining cache policy is what I like the most. So code optimize pannonu anneke, GPU cool optimization pannonu anneke cache level le yochne pannonsagdu. Cache anneke ababaa odmu ella jummm annurdu.
Virtually Indexed, Physically Tagged (VIPT) le varru issues avoid pandruthku Physically Indexed, Physically Tagged (PIPT) cache implementation use pandranga idru details beyond the scope of our friend GPU. Cache anneke innoru ishtumaan topic enna anneke Data Memory Barrier (DMB), Data Synchronization Barrier (DSB) and Instruction Synchronization Barrier (ISB). Phew I get carried away as I said earlier its difficult to have started from one topic, things are chained successively.
GPU le few of the least known are the dot product and cross product. which are used to find the length of a vector or the angle between two vectors as well as used to find a vector which is perpendicular to the plane spanned by two vectors.
The only game where I liked the tiled textures is from Serious Sam.
Indh level le during the first few minutes climbing the center temple in serious mode was next to impossible, there was couple of times I made it without nuking them all.
Mythbusters demo with GPU that was uber cool.
Enku varru weird thought varthaagdu, millions of GPUs probably billions of GPU edthkinu Brain le ikkru neurons firings one to one mapping pannginu human reality simulate panneke epdi ikkmu annutu varthara strange feeligns and mixed emotions thought process screw panthagdu. Copenhagen interpretation prakaaru there is no deep reality and reality is created by observation but ultimately Consciousness is the master source of our reality. So ipdi ikkrapa GPU and Consciousness ku varru relation epdi kukurdu aarthu aagthaile.
GeForce GTX G-Assist takes advantage of cutting-edge NVIDIA artificial intelligence to bring you the next revolution in gaming that was holy cow moment inki dated Saturday, April 1st 2017., enmaana fool panthakranglo therrile but niju aindheke it would be just freaking awesome..!!
To execute any simple program, first the program should be compiled and error free finally is loaded with the help of a loader into memory, and the loaded program called a process (an instance of a running program) is loaded by the operating system.
Assume that the CPU is going to execute an
instruction: mov eax, A. This assembly instruction moves the value stored at variable A to register eax. After the CPU
decodes this instruction, it puts the address of variable A into the address bus and then this data is checked for whether
it is present in the L1 cache.
There can only be two cases: if the data is present, it is a hit; if it is not, it is a miss. In case of a miss, the data is looked for in next level of hierarchy (i.e., L2 cache) and so on. If the data is a hit, the required data is copied to the register (the final destination), and it is also copied to the previous layer of hierarchy.
GPU enku facinate aindhu ethnio varshu minne. GPU internals start panni sumaaru 8 years aasi. Varru level depth ku poikru but uber geek level ku innu pogule. Life le en enmo deviations varthaagdu. Ippa mugidhu appa mugidhu anneke end illadhappdi aagthagdu. Ethni odhneku mugithaille.
Ethnio naalu indha thale kedthkinindu rothni GPU related questions adhle DMA Transmit/Receive sequence and Cache policies (Write Back/ Write Combined) perri questions marks inchi ippa rothni clear aasi.
E3 2017 oomha anpiksi.
Skyrim game release aindhu 11/11/11 and round 2012 time frame le indh game full ishtu ainchi. Skyrim le ethni gantem gatle aadutikruno therrile. Andh game inspire aitu varthi ku poem edhindu. Skyrim game full time dragon slay pandrudhe yaale. Thedgin thedgin hunt pandrudu. Game le varthi assistant varra Lydia annutu. Exactly Lydia tharane indha indh sirki. Game le Lydia indhu indh sirki. Game aadthaindheke indh sirki gyaanu, sirkive paathappa game le varrudu Lydia gyaanu.Induku game andhuku andh sirki feet plus lookalike. Thale ketpoinchi. Thale kedsi anneke nan different mode le indgiru. Sarri annutu varru poem apde edhnu. Poem le Skyrim Dragon baashe ella igdu.
Here it goes..
Its not the arrow for its swing swiftness,,
Its not the Armor for its protection,,
Its not the gauntlet for its blows,,
Its the beauty with brain that woos..!!
Its the unbroken spirit,
Its the clear courage,
Its the art of searching
Its the perfect polished feet..!!
Not too dry and not too sticky..
Soft but lightly pedicure’d tacky..
Ur long toes makes me feel wacky..
lastly ur ankles are breathtakingly funky..!!
I saw you in one of my bloom..
Moon light on ur feet will not be a gloom..
Pain to ur feet is just as a doom.
Ur gallant walk gives me a heart pounding boom..!!
All my weapons needs resting place..
I lay down all on ur sparkling feet..
Since it has the power to conquer,
Greater quests in lands of skyrim..!!
Rays of your eyes that clicks all
Thoughts from your Brain that tricks all
One of your genetic encoding mimics all.
Your Magnetic Mind field that ticks all.
Cosmic time and space made a Pluck,
Dust of stars had to Stuck,
E’m the inverse of Yuck,
You were not found by Luck.!
Faal Alun Ahraan aus bah
/* The ever wounded suffers wrath */
Brod daar banaar brii kulaas daal
/* This humble beauty princess returns from same clan */
Smoliin Drun Drem Hahnu
/* Passion bring peace to dream */
Nu mahfaeraak mal lot moro brii paada
/* Now forever little great glory to ur beautiful feet */
More to come.!!