In memory of Gene Golub Der Zauberlehrling The
In memory of Gene Golub
Der Zauberlehrling The Sorcerer’s Apprentice
Der Zauberlehrling The Sorcerer’s Apprentice Der Zahlenlehrling The Numerical Apprentice Zum Gedächtnis an Gene Golub In memory of Gene Golub Von J. Demmel By J. Demmel
Der Zauberlehrling The Sorcerer’s Apprentice Der Zahlenlehrling The Numerical Apprentice Zum Gedächtnis an Gene Golub In memory of Gene Golub Hat der alte Matrixmeister Sich für immer wegbegeben! Und nun sollen seine Rechner Auch nach meinem Willen zählen! The matrix-master’s vanished And forever gone away! Programs called by him, now banished, My commands shall soon obey!
Seine Wort’ und Werke Merkt’ ich, und den Brauch Und mit Geistesstärke Werd’ ich rechnen auch. Every step and saying That he used, I know, And with sprites obeying My calculus I’ll show.
Sende, sende Manche Busse Dass zum Zwecke Data fliesse, Und mit schnellen Protokollen Zu dem Speicher sich ergiesse! Data flowing Over busses Spare not any Cache prefetching Ever streaming, tightly scheduled, Toward the cache in packets gushing.
Komm, du alter Algorithmus! Nimm die alte Fortran Listing. Bist schon lange Knecht gewesen: Nun erfülle meinen Willen! Auf zwei Eb’ne Pufferspeicher Oben CPU. Eile nun, und gehe Hol’ Wörter immerzu! Algorithm, you are needed! Use this ancient Fortran version. Long my orders you have heeded, By my wishes now I've bound you. Use two cache levels And a CPU. Run, and with your bandwidth, Load words and write them through!
Seht, er läuft zum DRAM nieder, Ist schon an dem Speicherplatz Und mit Blitzesschnelle wieder Bringt er Bits mit hohem Satz. Schon zum zweiten Male Das Register schwillt! Wie sich jede Leitung Voll mit Zahlen füllt! See him, toward the DRAM racing There, he's at the memory, Back like lightning he is chasing, Bringing bits fast as can be. Once again he hastens! The register spills! How every channel Brimming full he fills!
Stehe! Denn wir haben Deiner Gaben Vollgemessen! Ach, ich merk’ es! Wehe! Hab’ das “Halt” Kommand’ vergessen! Stop now, hear me! Ample measure Of your treasure We have gotten! Ah, I see it, dear me. The Halt command I have forgotten!
Ach, Kommand’, worauf am Ende Er schläft, und bricht den Datafluss! Ach, er läuft und bringt behende! Schliefst Du wieder, Algorithmus! Immer neue Güsse Bringt er schnell herein, Ach, und hundert Flüsse Stürzen auf mich ein! Ah, command with which the master Stops the program and its fetching! Ah, he runs and fetches faster! Go to sleep and end the thrashing! Ever new the torrents That by him are fed, Ah, a hundred channels Pour upon my head!
Nein, nicht länger Kann ichs lassen: Will ihn fassen! Das ist Tücke! Ach, nun wird mir immer bänger! Welche Miene! welche Blicke! No, no longer Can I please him, I will seize him! That is spiteful! My misgivings grow the stronger. What a mien, his eyes how frightful!
O, du Ausgeburt der Hölle! Soll das ganze Cache ersaufen? Seh ich über jede Schwelle Doch schon Datenströme laufen. Dummer Algorithmus Der nicht hören will! Code, der du gewesen Sei doch wieder still! Brood of hell, you're not a mortal! Shall the entire cache go under? Over threshold over portal Streams of data rush and thunder. Algorithm mean, Who will have his will, Code that you have been, Once again stay still!
Willst am Ende Gar nicht lassen? Will dich fassen, Will dich halten Und das Prozess schnell zu Ende Mit dem Steuerprogram bringen! Algorithm, how to stop you? I will seize you, Hold and whack you, With system manager suspend you, Put you back upon the job queue.
Seht, da kommt er schleppend wieder! Ihn zu sehen ist rein’ Tortur, Gleich, wie Cobol, schläfst du wieder; Krachend trifft die Tastatur. Wahrlich! brav getroffen! Seht, er ist entzwei! Und nun kann ich hoffen, Und ich atme frei! He returns, more data packing! Now I'll throw myself upon you! Soon, 0 goblin, you'll be sagging. Crash! System daemon has undone you. What a good blow, truly! There, he's split, I see. Hope now rises newly, And my breathing's free.
Wehe! wehe! Beide Fäden Spawn in Eile Schon als Knechte Völlig fertig in die Reihe! Helft mir, ach! ihr hohen Mächte! Woe betide me! Both threads scurry In a hurry, Rise like towers There beside me. Help me, help, eternal powers!
Und sie laufen! Voll und voller Wirds im Speicher und Register, Welch verschwendete Bandbreite! Herr und Meister, hör mich rufen! – Kommt der Geist des Meisters! Herr, die Not ist groß! Die ich rief, die Geister, Werd ich nun nicht los. Off they run, in parallel, Bringing bits and words a flying. What a flood that naught can quell! Lord and Master, hear me crying! – Ah his ghost’s arrived. Sir, my need is sore. Processes I've spawned My commands ignore.
"Sich einschlafen Algorithmus, Seids gewesen! Denn als Geister Ruft euch nur, zu seinem Zwecke, Erst hervor der alte Meister. " “Algorithm, go to sleep! Rouse yourself no more! Enqueue yourself so very deep And all but Master’s calls ignore!”
1 3 41 6 2 7 82 1 With apologies to J. W. von Goethe, E. Zeydel, and W. Disney
- Slides: 18