Nicholas Wilt

2.5K posts

Nicholas Wilt banner
Nicholas Wilt

Nicholas Wilt

@CUDAHandbook

Nicholas Wilt was on the inception team for CUDA, wrote The CUDA Handbook, and writes at https://t.co/YkR71W07I7

Katılım Nisan 2013
76 Takip Edilen7.2K Takipçiler
Nicholas Wilt
Nicholas Wilt@CUDAHandbook·
@Meronix15 There’s nothing like practice (“writing a lot of software”) to develop these skills: Gather requirements, decide on implementation strategies on how best to meet them, implement and test, iterate.. Brooks also strongly advocated putting our skills in service to human endeavors.
English
1
0
1
21
Nicholas Wilt
Nicholas Wilt@CUDAHandbook·
BREAKING: The CUDA Handbook text is now available on the website, cudahandbook.com! Svbstack article in the first reply.
English
7
64
545
48.9K
Nicholas Wilt
Nicholas Wilt@CUDAHandbook·
@Meronix15 In the right hands, the models are massive force multipliers. They do shift the landscape in favor of the folks Brooks called “architects” over code typists. AI is the stiffest-ever test of the Jevons Paradox that has characterized software engineering for decades.
English
1
0
1
22
Meronix
Meronix@Meronix15·
@CUDAHandbook Honestly with the latest models i feel a bit depressed do you think there will still be programming adjacent jobs in the future?
English
0
0
0
65
Nicholas Wilt
Nicholas Wilt@CUDAHandbook·
@lauriewired If IBM had won, the tech world be would be a tedious hellscape.. and that’s coming from a Microsoft alum, haha
English
0
0
0
115
LaurieWired
LaurieWired@lauriewired·
I wonder what the world would look like if IBM won instead of UNIX. IBM’s i operating system is gorgeous (and still updated)! Everything is an object, no binaries are native (translated bytecode, almost JVM-y), and pointers all have an absurd amount of (useful) metadata. Technically it hides a lot of the underlying system…you don’t even get to choose if an object lives on RAM or disk! But, interesting to think how much safer software would be. Overengineered maybe, but beautiful. Kind of reminds me of Symbolics, like an alternate reality LISP machine where everything is an object.
LaurieWired tweet media
English
181
140
3.4K
145.9K
Nicholas Wilt
Nicholas Wilt@CUDAHandbook·
all the way down to predicting that NVIDIA would reuse the driver API’s module abstraction. I wish they’d been that high minded when they were adding tensor support! (CUDA arrays had everything tensors needed)
English
0
0
1
305
Nicholas Wilt
Nicholas Wilt@CUDAHandbook·
I've been busy updating the CUDA Handbook text on the website. Lots of platform capabilities that had been updated (e.g. GPUs have demand paging), but also some predictions of features that have been implemented since it was written. Here's one of my favorites, predicting NVRTC.
Nicholas Wilt tweet media
English
2
1
25
1.5K
Nicholas Wilt
Nicholas Wilt@CUDAHandbook·
@johnonmain My take on the whole West Coast is that it has a wet season and a dry season. My hometown has four honest seasons though, and there’s something to be said for that. Regardless whether you are enjoying the weather, in six weeks’ time it is bound to be different.
English
0
0
1
159
John (main)
John (main)@johnonmain·
The lack of seasons in SF is actually evil. Months slide past and nothing changes— perhaps different trees bloom, some new flowers pop up in the park, and the sun sets earlier— but nothing really seems to change. It's fun at first... you can go for a jog outside every day without worry, you can wear the same types of outfits week after week (pants, with a nice shirt and light jacket). But as time goes by it's eerie. Your life just races bay, with no visual or physical punctuation. There's no leaves on the ground, no crisp fall days, no scorching summer nights where you can wear shorts and a t shirt until midnight, no thunderstorms. It's spring. It's purgatory. Forever and ever.
PoIiMath@politicalmath

I live in one of the red zones in Tennessee and I can tell you that this map is bullshit

English
178
71
2.1K
386K
Nicholas Wilt
Nicholas Wilt@CUDAHandbook·
@maxxfuu If you’re trying to develop intuitions around CUDA, seek out workloads that benefit from shared memory (accessible only between blocks). That will illustrate how grids and blocks are not strictly software. Elementwise operations like matrix addition don’t meet this criterion.
English
0
0
10
440
max
max@maxxfuu·
Day 4/90 of Inference Engineering I built a CUDA kernel for matrix addition. The objective was to write correct CUDA while instilling the right intuition. Mainly putting the reps in with allocating memory on the host and device and writing the actual kernel through the lens of writing a thread instead of a sequential program. I learned that the idea of blocks and grids are just a software abstraction. However at launch time, grids are already partitioned into blocks. This allows the global block scheduler to schedule blocks and pin them to a SM for a lifetime. Without this abstraction we would have to schedule each thread individually for execution. I also learned that the block abstractions are what allows threads to cooperate cheaply within a block. Since threads within the same block share the same shared memory, this gives threads visibility into each other's data, and __syncthreads__() synchronizes completion for every thread within the block. Very interesting ideas. Love to hear a Kernel Engineer shed some light on this topic~ On the hardware side, I previously thought that the L1 Cache and Shared Memory were interchangeable terms. Turns out, they are two unique hardware components. I also forgot to include polymorph, TCP, Raster Engine within my old diagram. I attached an image below of the updated diagram that I drew. I also went over some CUDA documentation to understand the syntax of cudamalloc(). Today was a great day, on to the next!
max tweet mediamax tweet mediamax tweet media
English
12
20
389
13.3K
Nicholas Wilt
Nicholas Wilt@CUDAHandbook·
@xlrndo What’s funny is I think interviewed who asked me that question wouldn’t like the answer I gave. I have a gift for failing telepathy questions
English
0
0
0
168
xlrndo
xlrndo@xlrndo·
@CUDAHandbook Occasionally I've been tempted to use this as an interview question: I edited 0xcc to 0x90 in memory thirty times yesterday. What was I doing? Unfair, and I never asked it, and yet I'd think anyone in my line of work would get it instantly.
English
1
0
0
171
Nicholas Wilt
Nicholas Wilt@CUDAHandbook·
It’s a fun trivia question, why did this hacker choose the name “0x90” iykyk
Ihtesham Ali@ihtesham2005

A hacker known as "0x90" wanted a way to chat online without anyone tracing who he was. He ended up building a second internet. It started in 2001 as a small project to let people chat on IRC without anyone tracing who they were. In 2003, a developer known only by the handle jrandom rebuilt the whole thing from scratch and renamed it I2P, the Invisible Internet Project. I2P isn't really trying to hide you while you browse normal websites, the way Tor does. It builds you a second internet that lives entirely inside your regular connection. Inside it are hidden websites called eepsites, hidden chat, and hidden file sharing, all invisible to anyone outside the network. The trick is something called garlic routing. Tor wraps a single message in layers of encryption and passes it hop to hop, like an onion. I2P bundles several messages together into one package before it even leaves your computer, so anyone watching the traffic cannot tell how many separate messages are hiding inside it, or where each one is actually headed. Tor also uses one path both ways. I2P builds a completely separate path for messages coming in and messages going out, up to seven hops each direction. There is no company running any of this, and no central server holding a map of the network. Every computer running I2P is part of that map instead. In 2006, jrandom, the developer who rebuilt the entire project, disappeared. No announcement. He just stopped showing up. For a moment it looked like the whole thing might die with him. It didn't. A group of volunteers, one going by the name zzz, picked the project back up in 2009 and kept building. Twenty three years later, it is still running, still fully open source, still owned by nobody in particular.

English
7
0
43
34K
Nicholas Wilt
Nicholas Wilt@CUDAHandbook·
@xlrndo A hacker who chose that moniker would be sending an entirely different message lol
English
1
0
2
1.4K
Nicholas Wilt
Nicholas Wilt@CUDAHandbook·
@meridi6n I’ll likely be archiving some material on old architectures that’s no longer relevant. No one needs to know about the __mul24() intrinsic anymore.
English
0
0
1
42
Nicholas Wilt
Nicholas Wilt@CUDAHandbook·
@meridi6n Yes—GPU architecture has changed surprisingly little, considering they have 250x as many transistors. A lot of new features (both hardware and software) have been added that need to be covered, but the basics are still highly relevant.
English
2
0
2
777
Nicholas Wilt
Nicholas Wilt@CUDAHandbook·
@geofflangdale AI is nice for stretching the periphery of coding, (for me, variadic templates), but for stuff that’s completely outside my comfort zone (e.g., website design) it has unlocked use cases that simply would not be otherwise possible.
English
1
0
2
284
Geoff Langdale
Geoff Langdale@geofflangdale·
A reason I avoid AI coding is the same reason I don't skip days in the gym where the goal is to lift 70% of your 1RM a reasonable number of times and go home. AI can't do the hardest stuff. But the mid-tier routine stuff is "putting in reps". Don't do those and trouble follows.
English
4
1
36
1.5K
Simon V
Simon V@Simon_Vt·
@CUDAHandbook Asynchronous memory transfers (cp.async/TMA), pipelining, tensorcores (wgmma, tcgen05) etc (I know I ask to much but I would be 100% willing to pay good money for such a book from you :D)
English
1
0
5
123
Nicholas Wilt
Nicholas Wilt@CUDAHandbook·
@Simon_Vt I am working on updates. Any areas of particular interest?
English
1
0
0
716
Simon V
Simon V@Simon_Vt·
@CUDAHandbook This is such a great book. It would be nice if there would be a second part for modern GPUs :)))
English
1
0
4
875
Raghu Nandan
Raghu Nandan@RaghuNC·
@CUDAHandbook Small feedback. Looks like I can't access the top menu in mobile browser (chrome), so i can't access the chapters
English
1
0
3
1K