Principal Engineer at @NVIDIA working on programming languages. @adspthepodcast co-host. C++ Library Evolution chair emeritus. Frequent flyer. Horology fan.
The latest revision of @INCITS/@isostandards COBOL comes out this year
The goals of COBOL sound normal today:
- Portable
- Freely available
- Designed by the community
In 1959 it was radical & unprecedented
It was also conceived of & led by women
This is the story of COBOL
I’ve asked this in interviews at my aerospace engineering firm for 30 years: What planes do you build at home? Many answer they dont have time. Wrong. Build missiles at home. Every day. If you dont have that passion aerospace engineering isn't really for you. Launch small rockets
Carbon, a successor language to C++ was announced at @CppNorth today by @chandlerc1024.
I'm very excited about this project's potential. You can learn more about Carbon and get involved on GitHub.
github.com/carbon-language/c…
I've been at NVIDIA for 6 years and 3 promotions. My compensation has gone up 500% since I started.
Work hard at a good company you believe in, and you will be rewarded.
You need to be job hopping. You should have your LinkedIn open waiting for a recruiter to slide into your DMs offering a 50% salary raise. No company is going to offer you that kind of raise after a year but the market will. Forget people like this, they just want cheap labor.
We've announced cuTile, a tile programming model for CUDA!
It's an array-based paradigm where the compiler automates mem movement, pipelining & tensor core utilization, making GPU programming easier & more portable.
I'm proud of my stellar team for all their hard work on this!
Learn how to GPU-accelerate your code in modern CUDA C++ without writing everything from scratch!
During #ISC2025, I'll be giving a talk at the Hamburg C++ User Group on 2025-06-11. It's open to the public.
meetup.com/cppusergrouphambu…
NVC++ is our new compiler. It can accelerate your Standard C++ code with GPUs.
Keep your eye on this. We're Executing on big and exciting plans for it.
developer.nvidia.com/blog/ac…@NVIDIAHPCDev
Want to learn CUDA C++?
Take our modern CUDA C++ course at GTC Paris on June 12! You'll learn how GPUs work, how to use GPU libraries, when and how to write kernels, & how to profile and optimize your code. It's all hands-on with web-based exercises.
nvda.ws/4mDJpkf
My desk at @nvidia HQ was in the middle of a driver team that mostly writes C. It turned out great - we learned a lot from each other.
They put this up in my first week. It still amuses me every time I see it.
ALT A paper sign on a desk that says "This code contains C++ constructs that are known to the state of California to cause cancer and birth defects or other reproductive harm". Below it is a Simpsons meme where Mr Burns shows Homer a room full of monkeys, with the caption reading "and here is the debugging room".
Want to write high quality GPU software? We're launching a new CUDA curriculum for all skill levels at GTC next week!
There are dozens of talks, tutorials & notebooks to teach you modern GPU programming.
Much of it will be made public - links in thread.
nvidia.com/gtc/sessions/cuda…
The creator of C++, Bjarne Stroustrup, had his Reddit account suspended because Reddit does not believe it is him
He cannot appeal, b/c he is suspended & cannot log into Reddit to file an appeal
Someone from Reddit needs to fix this - please retweet!
teddit.net/r/cpp/comment…
Want to learn CUDA? We're teaching tutorials at NDC TechTown in Norway this September:
CUDA C++ (Sep 22): nvda.ws/45EITdZ
CUDA Python (Sep 23): nvda.ws/45C5uId
Through hands-on exercises, we'll teach you how to write, benchmark, profile, and optimize GPU code!
Meet NVC++, the world's first compiler with GPU-accelerated C++17 parallel algorithms. I'm incredibly proud of my team - we've been building this for two years.
We're building a new C++ compiler for quantum computing.
DM me if you want to join the team. Clang/LLVM/MLIR experience is a huge plus.
insidequantumtechnology.com/…
This is so cool! I always had a soft spot for Fortran, but the difficulty of incorporating third-party modules was a deal breaker. But not anymore!
Major props to the folks at @fortranlang
for all their work modernizing Fortran!
github.com/fortran-lang/fpm/…
You’re a great engineer if you know the definition of:
- idempotent
- monoid
- decoupled
- dependency injection
- unit
- functional programming
- asynchronous vs parallel programming
- thread locking
- eventual consistency
- exactly-once semantics
- lambda vs kappa architecture
- push vs pull architectures
- write-audit-publish pattern
What else would you add?
#dataengineering#softwareengineering
Microsoft just open sourced their C++ standard library under the Apache with LLVM exception license at @CppCon 2019. Very excited to see this! @MalwareMinigun @StephanTLavavejgithub.com/microsoft/STL
I’ve asked this in interviews at my architecture firm for 30 years: What buildings do you design at home? Many answer they dont have time. Wrong. Make blueprints at home. Every day. If you dont have that passion, architecture isn't really for you. Build small houses.
I’ve asked this in interviews at my law firm for 30 years: What legal action do you take at home? Many answer they dont have time. Wrong. Practice law at home. Every day. If you dont have that passion, the law isn't really for you. File small lawsuits. Do litigation jams.
I’ve asked this in interviews at my law firm for 30 years: What legal action do you take at home? Many answer they dont have time. Wrong. Practice law at home. Every day. If you dont have that passion, the law isn't really for you. File small lawsuits. Do litigation jams.
I’ve asked this in interviews at my hospital for 30 years: What medicine do you do at home? Many answer they dont have time. Wrong. Do surgery at home. Every day. If you dont have that passion, being a doctor isn't really for you. Do small surgeries.
I'm retiring from C++ Library Evolution leadership! I had a vision (async work, shared leadership, etc), & it's been realized, so it's time to move on. This has been a team effort; it's been a pleasure working with all of you. I'm proud of our accomplishments in C++23 & C++26. 👋
Learn how to GPU-accelerate your code in modern CUDA C++ without writing everything from scratch!
During #ISC2025, I'll be giving a talk at the Hamburg C++ User Group on 2025-06-11. It's open to the public.
meetup.com/cppusergrouphambu…
Seeing the value in something is different than stating that if people don't do that thing they are unqualified.
I was explaining how I evaluate candidates with non-traditional educational backgrounds such as my own.
I'm in a new role at @NVIDIA - HPC Programming Models Architect, responsible for leading our programming standards efforts and driving the roadmap for the @NVIDIAHPCDev compilers (NVC++, etc) and libraries (Thrust, CUB, libcu++, etc).
Using external libraries in C++ should be an order of magnitude easier than it is today.
That should be the primary goal for C++ in the next decade.
We should work with C++ dependency managers, system package managers, and OS distros to make this a reality.
We've announced cuTile, a tile programming model for CUDA!
It's an array-based paradigm where the compiler automates mem movement, pipelining & tensor core utilization, making GPU programming easier & more portable.
I'm proud of my stellar team for all their hard work on this!
I'm not saying you have to like CMake, just that you should probably be using it.
If we continue to coalesce around it, we'll bring much needed uniformity to building C++ code.
Almost every IDE, tool, package manager, and C++ developer supports CMake.
I’ve asked this in interviews at my nuclear power plant for 30 years: What reactors do you build at home? Many answer they dont have time. Wrong. Refine uranium at home. Every day. If you dont have that passion, nuclear engineering isn't really for you. Build small centrifuges.
I’ve asked this in interviews at my architecture firm for 30 years: What buildings do you design at home? Many answer they dont have time. Wrong. Make blueprints at home. Every day. If you dont have that passion, architecture isn't really for you. Build small houses.
.@code_report's Parrot, a C++ parallel array-based library with implicit fusion using CUDA/Thrust, was launched today at @cppunderthesea!
It's the culmination of 3 years of work by Conor.
This is the best way to write GPU-accelerated algorithms in C++!
github.com/nvlabs/parrot
C++ without a Standard Library is severely diminished. Sadly, for a long time you couldn't use std:: on GPUs.
So, we built a Standard Library for your entire system - CPUs & GPUs
Learn more in my @NVIDIAGTC talk.
Registration is free; watch anytime.
gtc21.event.nvidia.com/media…
If you are:
- A C++, C, or Fortran programmer
- Have Mexican citizenship
- Are interested in participating the C++ committee
Please contact me! Mexico currently doesn't participated in international programming language standardization but I'd like to change that. Please RT.
I will not be at @CppCon this year because I do not believe it is safe for attendees.
I have great admiration and respect for the volunteers and staff, but leadership has shown that they make bad and secret decisions about attendee safety.
Arithmetic circuits were once the craft of human experts, and are now designed by AI in NVIDIA GPUs. H100 chips have nearly 13,000 AI designed circuits! How is this possible? Blog developer.nvidia.com/blog/de… + a thread 🧵👇
Over the last few years some of the key figures in C++ twitter have adopted a negative & pessimistic perspective which I find incredibly harmful & hurtful.
I am saddened & disappointed that others have chosen to act this way.
Want to write portable code that can be GPU-accelerated? Come to my #GTC22 talk to find out how you can with Standard C++! I'll cover all the latest developments - senders & receivers, mdspan, and linear algebra.
reg.rainfocus.com/flow/nvidi…
Welcome to Haskell, we got list comprehensions (>>=), optional chaining (>>=) , async/await (>>=), if err != nil (>>=), function composition(>>=), mutable state (>>=),
Attempts to silence me on diversity by "reporting" me to my employer, ISO, or INCITS are pointless.
They all support diversity and inclusiveness in tech.
Likewise, I'm not intimidated by threats against my person.
I’ve asked this in interviews at my hospital for 30 years: What medicine do you do at home? Many answer they dont have time. Wrong. Do surgery at home. Every day. If you dont have that passion, being a doctor isn't really for you. Do small surgeries.
I’ve asked this in interviews at my aerospace engineering firm for 30 years: What planes do you build at home? Many answer they dont have time. Wrong. Build missiles at home. Every day. If you dont have that passion aerospace engineering isn't really for you. Launch small rockets
.@nvidia's C++ library team is hiring interns for summer/fall 2022.
You get to work with @ericniebler, @incomputable, @AllisonVacanti, @Guriwesu and many other cool people on the future of Standard C++.
We pay interns generously. Remote is fine.
DM or email me a resume.
My first month at @NVIDIA:
Me: *something something* UVM.
Them: What's UVM?
Me: Unified Virtual Memory.
Them: Don't call it that, call it Unified Memory, no abbreviation. TLAs are evil.
Me: What's TLA?
Them: Three letter acronym.
In my experience extreme absolute statements like this tend to discredit your point. You can say "I question the future of C++ because the language isn't memory safe" without implying that the work of hundreds of your colleagues is pointless.
A few years ago I had to decide my stance on diversity & inclusiveness in C++
I could play it safe, remain silent, & be liked by most of the community
Instead I chose to speak up, knowing it would burn bridges & damage my reputation
I have no regrets about that decision
NVC++ now supports C++ Standard Parallelism, CUDA C++, OpenACC & OpenMP
They're interoperable - even in the same source file
Now you can combine libraries that use different parallel frameworks
Watch my @NVIDIAGTC talk anytime to learn more. It's free!
gtc21.event.nvidia.com/media…
HPC deserves better parallel compilers. Let me show you one.
Come to my "Inside NVC++ and NVFORTRAN" talk at @NVIDIAGTC tomorrow. We'll be making some exciting announcements.
Registration is free!
gtc21.event.nvidia.com/media…
4 years ago I got a 0 on a quantum physics exam. i met with my professor fearing i needed to change my major & quit physics. today, i’m in a top tier astrophysics Ph.D program & published 2 papers.
STEM is hard for everyone—grades don’t mean you’re not good enough to do it.
.@CppCon leadership and the C++ Foundation Board have violated the community's trust
I stand with @pati_gallardo - on 2021-11-22, she, @gregcons, and I met with the Board, and I told them I must resign @CppCon program chair
Transparency and meaningful change is needed
The logic:
If the President was incapacitated, other states may think our ability to respond to an attack is incapacitated, thus giving them an opportunity.
So, the mobile Strategic Air Command is launched, to remind other states that we are always ready to respond to an attack
Want to learn about CUDA C++ from the people who create it?
Come to our virtual meetup and Q&A on November 22nd 2024! This one will focus on the CUDA Core Compute Libraries, e.g. Thrust, CUB, and libcu++.
github.com/NVIDIA/accelerate…
Once is an anomaly.
Twice is a coincidence.
Three times is a pattern.
Four times is enough.
We've had enough of harassment and coverups.
We have failed to make the C++ community safe.
It's time for change. Leadership must prioritize safety.
If you love in Python, GPUs, and open source, @nvidia is looking for a product manager to drive our Python strategy for HPC and data science! Send me DMs.
Want to learn about CUDA C++? Come to the London C++ meetup tomorrow to hear my talk.
I have some special bonus content as well, only for in person attendees!
meetup.com/cpplondon/events/…
Adding a borrow checker or similar for C++ or switching to Rust protects code written in the future.
But the issue with C++ isn't future code, it's the billions of lines of existing code.
Solutions like sanitizers that can be applied to existing code are critical.
You mean after people reacted negatively, he claimed that was what he meant.
His post was toxic and a 30-year veteran should know better, especially in a sector of the industry known for crunch.
Today's my 4 year anniversary at @nvidia. When I started, I was the entirety of the C++ core libraries team; today I'm blessed to have @Guriwesu, @AllisonVacanti, @g_evtushenko, @ericniebler, and many others as coworkers! Thanks to all of you for making this job so rewarding.