Loading video...

Video Failed to Load

Go Home

I wrote the full Craftax RL environment + PPO in one CUDA file. zero python in the loop. training from scratch on my RTX PRO 6000 > 0.6s: first wood, first crafting table, first dungeon entered > 1.7s: first zombie + skeleton kills, first bow found > 2.9s: first...

51,510 views • 2 months ago •via X (Twitter)

36 Comments

Elliot Arledge's profile picture
Elliot Arledge2 months ago

no single magic kernel. it is boring systems work stacked end to end: env (312M steps/s, no NN in the loop): - struct-of-arrays state so every warp load is coalesced - worldgen resets are warp-cooperative: one warp rebuilds a dying world's noise fields in shared memory, bit-exact with the scalar path - rare divergent events (mob spawn scans) get compacted into queues drained by a separate kernel instead of stalling every thread - the whole step is CUDA-graph captured training (5.5M steps/s at the quality recipe, 42M full-batch): - the entire PPO loop lives on the GPU: rollout, GAE, backward, Adam. no python, no transfers, weights never leave the card - obs recorded as 996 compact uint8 bytes, then expansion + encoder run as one big GEMM instead of per-env scatter loops (2.4x on the trainer) - GRU chain backward chunked to fit in L2 - analytic grads checked against finite differences, trajectories hash-sealed against the C reference build i actually tried some ambitious kernel fusion but ended up losing to a plain GEMM and env separation strategy

kache's profile picture
kache2 months ago

Incredible work

Elliot Arledge's profile picture
Elliot Arledge2 months ago

❤️

Dan Advantage's profile picture
Dan Advantage2 months ago

8192 is max sps for gb10 (dgx spark) training a policy now

Elliot Arledge's profile picture
Elliot Arledge2 months ago

wow!

Kevin Patrick Murphy's profile picture
Kevin Patrick Murphy2 months ago

That’s pretty cool! training on craftax won’t give you an agent that generalizes, but if you can procedurally change the environment and automatically update your cuda code, then you can quickly meta learn something interesting…

Epicarism's profile picture
Epicarism2 months ago

Ok can i play Minecraft with claude now or in near future

Elliot Arledge's profile picture
Elliot Arledge2 months ago

a tiny policy will beat minecraft for you in a min or so at my achieved sim speed. need to cook for another day

Epicarism's profile picture
Epicarism2 months ago

What about a friend maxxing / playmate rl env pls for us lonesome folk

Seth Karten's profile picture
Seth Karten2 months ago

how does the trained policy perform back in the original craftax environment?

HumanoidRobots.com Tom's profile picture
HumanoidRobots.com Tom2 months ago

the environment count becoming the video beats another terminal chart. 524,288 tiny worlds is hard to argue with.

utsab's profile picture
utsab2 months ago

Bruh how?? Insane!

𝗹𝗶𝗴𝗵𝘁's profile picture
𝗹𝗶𝗴𝗵𝘁2 months ago

now this is some next lvl shit

Elliot Arledge's profile picture
Elliot Arledge2 months ago

<3

Matteo's profile picture
Matteo2 months ago

epic, nice visuals too

Igor Petrović's profile picture
Igor Petrović2 months ago

What mfs will do just to avoid working on sample efficient RL methods

webXOS's profile picture
webXOS2 months ago

gpu gaming

Sulaiman Khan Ghori's profile picture
Sulaiman Khan Ghori2 months ago

Impressive

7-Eleven intern's profile picture
7-Eleven intern2 months ago

well done

Mohammed Hossam's profile picture
Mohammed Hossam2 months ago

Huge 👀 Great work 👏

Jake Wind's profile picture
Jake Wind2 months ago

Wow, would be cool to see some charts with before/after (original Craftax vs your version)

Matt H. Lee's profile picture
Matt H. Lee2 months ago

Hell yeah brother

Craig Certo's profile picture
Craig Certo2 months ago

This is insane

David de Villiers's profile picture
David de Villiers2 months ago

Amazing! I did my Masters in Curoisity-Based RL for managing sparse rewards pre-Craftax. I attempted to build my own env and trained on it, but a few months later they came out with Craftax. This is just next level. Will be checking it out soon!

Aimar Haddadi's profile picture
Aimar Haddadi2 months ago

crazyyy

Lucky Cat's profile picture
Lucky Cat2 months ago

impressive speed benchmarks on that RTX PRO 6000, 312M env steps/s is wild

0xidative's profile picture
0xidative2 months ago

Holy aura will be checking this out

Jebrim's profile picture
Jebrim2 months ago

This is the way to go!

Inspector fomo's profile picture
Inspector fomo2 months ago

The claim of zero python in the loop overstates the setup. The environment still relies on python for initialization and orchestration.

Siddhant's profile picture
Siddhant2 months ago

This is an insanely amazing project

Ecliptix's profile picture
Ecliptix2 months ago

That's based

UriG's profile picture
UriG2 months ago

This is awesome!

smyanthota's profile picture
smyanthota2 months ago

@yacineMTB What a legend

Shubham Arora's profile picture
Shubham Arora2 months ago

Very cool!

Isha's profile picture
Isha2 months ago

Absolutely insane

Laythe's profile picture
Laythe2 months ago

is this a sign to learn cuda

Related Videos

My first Allsvenskan goal was against Djurgården at Fredriksskans on the 10/05/2008. Before I made my first team debut for Kalmar FF, I spent 3months playing for the reserve team while I training with the first team on a daily basis. My first encounter with Nanne Bergstrand before I signed with Kalmar FF, he told me how much he trusted me and how he will love it that I joint the team after laying down the plans for me in the team. He said "you will be the joker of the team this season" I didn't understand what he meant be that but I didn't care about that because I trusted myself enough that I will definitely play more than a joker role if given the chance. So during this 3months playing for the Reverse Team I was not happy at missing games for the first team at all because training with them made me feel like I can play in this team. During one of the games with the reverse team against Malmo FF away from home was when everything thing changed for me. Playing against them is always difficult even their first team. We won the game 3-4 and i scored 4 scored 4 goals against a very good Malmo FF reserve team and that was the last time I played for the reserves that season. The next day there was no recovery for me so I had to training with the first team as usual. Nanne called me before training and told me I will be with part of the first team match squad moving forward. May 10th I scored my first Professional goal after being on the pitch for 10mins and I did it in style. I was so happy to have scored the last goal of the game to give us a comfortable 5-1 win. The joy and tears in my eyes was the reward for my patience and determination to prove myself that I have a place in the first team. I went on to play 21 games for the first team and became the replacement for our Brazilian star Caesar Santin who joined Fc Copenhagen. Be patient with yourself and trust in your abilities to make it happen.

Abiola Dauda

21,891 views • 4 months ago

🚨 BREAKING: Israel kills three Palestinians in Jenin in first strike on West Bank in 10 months Israel carried out an airstrike on a house under construction in the Horsh Al-Saada on the western outskirts of Jenin in the occupied West Bank on Friday, as large numbers of Israeli forces entered the area. The drone attack marked the first Israeli airstrike on the West Bank in around 10 months. Three Palestinians were killed in the strike, according to Reuters. Reporting from the area, Drop Site contributor Mujahed al-Saadi said that the house was struck with at least two missiles and that Israeli troops deployed to the area immediately after the attack, preventing ambulances from reaching the targeted house, and detained Palestinian medical workers who arrived on the scene. The report marked al-Saadi’s first time back in the field after spending 22 months in prison in Israel where he was held in administrative detention without charge or trial. “The first experience today is the most difficult, as reporting information and news is intertwined with confronting the occupation for the first time,” he said. “The occupation army now targets journalists and opens fire.” “But this is the reality I am reporting, and I am trying to convey it for the first time after my release from the occupation’s prisons,” al-Saadi said. The Israeli military claimed it had carried out a “precise strike” with Israeli Prime Minister Benjamin Netanyahu praising the strike on X: “I commend our forces for the successful elimination of the terrorists in Jenin. Shabbat shalom!” 🎥 Mujahed al-Saadi

Drop Site

79,514 views • 1 month ago

Here’s EVERYTHING you need to know about warm up sets: Most people are doing warm up sets ALL wrong and they’re costing themselves from an efficiency/effectiveness standpoint as a result Warm ups are designed to A) guard against injury B) prepare you for your working sets Warm up sets should NEVER be taken in close proximity to failure…most should see you leaving 6, 7, 8+ reps in reserve (the lone exception to this = sets performed for 1-2 reps @ ~90+ of your intended working weight) This is in STARK CONTRAST to working sets which should all end around 0-2 RIR You probably need about ~2 warm up sets before your first exercise or two depending on the specifics of your programming Here is an example of a typical warm up protocol: - a 5-10 minute brisk walk on the treadmill (optional) - 50% of your working weight on your first exercise for ~12 reps (mandatory) - 75% of your working weight on your first exercise for ~6 reps (mandatory) - 90% of your working weight on your first exercise for ~2 reps (optional) After you complete the working sets for your first exercise, you may want to repeat the last 3 steps prior to performing your next exercise IF it is an antagonist exercise (Ex: Lat Pull-Down after Sternal Pecs Machine Press OR Seated Leg Curls after Hack Squats) After that, you probably don’t need any additional warm up sets unless you are just using them as “primers” (sets to make sure your movement pattern / the machine settings / etc. are on point) - If doing a PUSH workout, I’m probably using 2-3 warm up sets before my first exercise only (assuming it’s a multi joint movement) - If doing a PULL workout, I’m probably using 2-3 warm up sets before my first exercise only (assuming it’s a multi joint movement) - If doing an UPPER workout, I’m probably using 2-3 warm up sets before my first exercise and 1-2 warm up sets before my second exercise (assuming they’re antagonist multi joint movements) - If doing an LOWER workout, I’m probably using 2-3 warm up sets before my first exercise and 1-2 warm up sets before my second exercise (assuming they’re antagonist multi joint movements) - If doing a FULL BODY workout, I’m probably using 2-3 warm up sets before my first exercise, 1-2 warm up sets before my second exercise, and may even 1-2 warm up sets before my third and fourth exercises as well (assuming they’re all multi joint movements — antagonist push/pull movements for both upper & lower) (As you can see, the major downside of FULL BODY workouts is often the excess warm up time needed — this is why they work best for beginners much of the time) General rule of thumb: If your first set of an exercise is NOT your best set of that exercise in terms of performance (assuming we equate RIR), you are NOT warming up properly You should see a fall off in performance as sets transpire on a given exercise…this is a feature, not a bug of productive/effective resistance exercise WHEN WARMED UP PROPERLY

Dean Turner

52,493 views • 2 months ago

Here’s EVERYTHING you need to know about warm up sets: Most people are doing warm up sets ALL wrong and they’re costing themselves from an efficiency/effectiveness standpoint as a result Warm ups are designed to A) guard against injury B) prepare you for your working sets Warm up sets should NEVER be taken in close proximity to failure…most should see you leaving 6, 7, 8+ reps in reserve (the lone exception to this = sets performed for 1-2 reps @ ~90+ of your intended working weight) This is in STARK CONTRAST to working sets which should all end around 0-2 RIR You probably need about ~2 warm up sets before your first exercise or two depending on the specifics of your programming Here is an example of a typical warm up protocol: - a 5-10 minute brisk walk on the treadmill (optional) - 50% of your working weight on your first exercise for ~12 reps (mandatory) - 75% of your working weight on your first exercise for ~6 reps (mandatory) - 90% of your working weight on your first exercise for ~2 reps (optional) After you complete the working sets for your first exercise, you may want to repeat the last 3 steps prior to performing your next exercise IF it is an antagonist exercise (Ex: Lat Pull-Down after Sternal Pecs Machine Press OR Seated Leg Curls after Hack Squats) After that, you probably don’t need any additional warm up sets unless you are just using them as “primers” (sets to make sure your movement pattern / the machine settings / etc. are on point) - If doing a PUSH workout, I’m probably using 2-3 warm up sets before my first exercise only (assuming it’s a multi joint movement) - If doing a PULL workout, I’m probably using 2-3 warm up sets before my first exercise only (assuming it’s a multi joint movement) - If doing an UPPER workout, I’m probably using 2-3 warm up sets before my first exercise and 1-2 warm up sets before my second exercise (assuming they’re antagonist multi joint movements) - If doing an LOWER workout, I’m probably using 2-3 warm up sets before my first exercise and 1-2 warm up sets before my second exercise (assuming they’re antagonist multi joint movements) - If doing a FULL BODY workout, I’m probably using 2-3 warm up sets before my first exercise, 1-2 warm up sets before my second exercise, and may even 1-2 warm up sets before my third and fourth exercises as well (assuming they’re all multi joint movements — antagonist push/pull movements for both upper & lower) (As you can see, the major downside of FULL BODY workouts is often the excess warm up time needed — this is why they work best for beginners much of the time) General rule of thumb: If your first set of an exercise is NOT your best set of that exercise in terms of performance (assuming we equate RIR), you are NOT warming up properly You should see a fall off in performance as sets transpire on a given exercise…this is a feature, not a bug of productive/effective resistance exercise WHEN WARMED UP PROPERLY

Dean Turner

53,653 views • 7 months ago

My 2025 wrap - Got healed from depression - Built a personal brand from 0 - Worked with top brands/companies in the US - Made $30k+ - Made a lot of new friends - Started a business for my mom (funded it) - Furnished the apartment my family and I were living in (it was almost empty at the beginning of the year) - Attended conferences and events - Hosted my first space with over 4k people tuning in - Posted my first YT video that has over 13k views - Earned 7-8 figures consistently monthly - Hired people - Cofounded a design studio - Started paying salaries (in dollars) - Got gifts from brands - Traveled out of the country for the first time - Relocated - Started dressing better - Booked an Airbnb for the first time - Partnered with Cleva - Went house hunting - Saw the possibility of having my own luxury apartment - Made money in a year than my parents ever thought one could in a year - One of the biggest partners in the church - Celebrated my family's birthday for the first time in years - Moved from someone who didn't have a MacBook to someone who owns 2 MacBooks - Built a complete workspace, but have to do it again since I relocated 🙃 - Ate a lot of food I had only seen in movies - Lost a good friend (not died, we just decided to move on from being friends and wish each other well from afar) - Became a dog mum - Started training others - Leveled up my communication skills - Started learning a new language - Started, paused, and resumed reading - Met and talked to people I admired - Showed a lot of people around me what was possible - Made my parents proud A lot can happen in a year, I'm happy my life proved it ✨

Racheal James

46,624 views • 9 months ago

BREAKING: President Trump awards Elon Musk the National Medal of Science, the nation's top honor for scientists and engineers: "First, we honor an industrial titan, a brilliant engineer, and one of the greatest technology founders to ever live. His name is Elon Musk. Quite honestly, there's nobody like him." "Few Americans in history have done more to advance America's national interest than Elon. In one field after another, his genius and determination have made science fiction into reality." "Elon founded SpaceX with his life savings in 2002 and created the first privately developed liquid-fueled rocket to reach orbit in the face of vanishingly impossible odds." "SpaceX saved NASA from relying on foreign nations to send our astronauts into space." "We're proud of you. Very proud of you. National treasure." "Under Elon's leadership, SpaceX has also developed Starship, the largest rocket in history, which is caught out of thin air for rapid reuse. And it's the first time anyone has ever seen anything quite like it. They also created the largest-ever communication satellite network, Starlink." "And I called up Elon, and it was like impossible to get this equipment. And he had it there in a matter of hours and saved hundreds of lives. Saved hundreds of lives in North Carolina." "Elon created Tesla, the first successful new car manufacturer in over 75 years, producing the first commercially viable electric cars with the first consumer self-driving technology." "Through Neuralink, Elon is also restoring sight, speech, and motion to those who cannot see, talk, or move. And he turned SpaceXAI into one of the world's leaders in superintelligence." "Elon is our modern-day Thomas Edison." "And, Elon, I want to congratulate you. You're my friend in all of that, but you are a very, very special guy. Thank you very much, and congratulations, Elon."

KanekoaTheGreat

30,034 views • 10 days ago

👤 so was that the first time you two actually just drank together alone? 🐰 not the first time, we’ve done it a few times 🦊 but it had been a really long time 🐰 yeah, usually, whenever we fight and make up, we end up drinking together, it’s happened more than once. but i’m the type who needs to resolve things immediately, and yeonjun hyung is the type who needs time. that difference made things hard too. whenever something happened, i would always try to fix it right away, but he would kind of avoid it. so at some point i said, ‘let’s try giving him the time he needs.’ 🐰 but it took too long. i gave him like 6 months, and he still wasn’t ready to talk. and i kept saying, ‘when something happens, i wish you’d also learn to come to me first sometimes, because i’m always the one approaching you, so of course i end up feeling hurt.’ 🐰 and then after 10 years of knowing yeonjun hyung, he finally asked to talk first. i was like, ‘wow, after 10 years, it finally came.’ the moment i got his message, i was really worried 🐰 i was like, ‘did i do something wrong? did something happen to me?’ for like two days i was really anxious. before sleeping i kept going over everything in my past like, ‘did i ever talk badly about yeonjun hyung somewhere?’ i was just really worried 🐰 but in the end, it was just him finally opening up first in a really honest way, so i was really happy. like, ‘oh… okay?’

💿

19,234 views • 6 months ago

You can't compare Cyberpunk 2077 launch to GTA 6 and here's exactly why Cyberpunk 2077 was the CDPR's first installment to feature a futuristic city with tons of NPCs and fast moving cars, something which was never done before on Witcher games. The gameplay video from Cyberpunk 2077 shown off in 2019 had a clear text showing "work in progress - does not represent the final look of the game" After the launch disaster of Cyberpunk 2077, Marcin Iwiński also explained that the reason the game had so many bugs is that the game was designed for PC first in mind, then scaled down to consoles that still had a hard drive (PS4 and Xbox One) an extremely difficult task on its own, combined with the fact that the game development progress took a major hit during the pandemic. Rockstar Games on the other hand has a much different engine and experience working on large scale open world game filled with tons of NPCs and fast moving cars, including the fact that they're developing this game for current gen consoles first, then scaling it up for a PC release not vice versa. Are we guys suddenly forgetting the fact that Rockstar Games managed to get GTA V running on a PS3 console which had 256mb of VRAM and 256mb of RAM at that time? The reason Rockstar Games has shown zero gameplay of GTA 6 is because historically they save the gameplay showcase before the game launches, GTA 6 Trailer 2 came out in 2025 and all footage for that Trailer was captured on a base PS5 with a mix of gameplay and cutscenes. They'll obviously show off more gameplay on August 27th, but comparing Cyberpunk 2077 to GTA 6 isn't exactly fair for both companies. On one hand, it was CDPR's first time making that kind of genre of a game and on the other hand, it isn't Rockstar Games first time making a Grand Theft Auto game.

NikTek

104,273 views • 2 months ago