Loading video...

Video Failed to Load

Go Home

I've compiled some performance tips gleaned from working on my 1 million GPU AI steering agents project. I want to see Twitter compression destroy this video. 🚀 GPGPU: N-Body - O(n^2) - simulations are easily processed in parallel. GPUs are really good at parallel processing = 🫶. 🌐 Spatial...

13,274 views • 2 years ago •via X (Twitter)

0 Comments

No comments available

Comments from the original post will appear here

Related Videos

There's been a few cool updates recently. In particular, Rerun 0.33 released headless rendering. This, along with the Fable 5 release pushed me to work torwards making MAMMA realtime! I threw Fable at the problem, and it was able to take original implementation that was ~12 seconds / frame and get it all the way down to 40ms /frame, or nearly a 300x speedup 🏎️ How did I achieve this? TLDR: - Use rerun's headless rendering as supervision when optimizing - Save rrd file as test fixture to guide model optiziation with /goal - create an html artifact with headless rendering to provide detailed breakdown of what it did and how it actually looks like in the viewer There were a few critical bits to make sure that this ACTUALLY worked and that Fable didn't just cheat or delete something and declare victory. The first is that the original version used Rerun, this allowed us to save things to disk as an RRD file, meaning we could query the contents and use this as a sort of test fixture or golden artifact that held EXACTLY what all of the values should be. Then we can use this with /goal as a metric when doing the optimization to ensure there are no regressions. The second bit is the headless rendering, this gave us the ability to check that not only did the test fixture pass, but it also looked visually correct. This made a huge difference, and an awesome side affect of it is that we can use the headless rendering to create an implementations.html file. This gives a visual guide as to what the agent did (I walk through it in the video below) Along with this, we're working on an MCP server for rerun that allows full interactivity with the rerun viewer for your agent. So for example the agent can click, drag, move views, scroll timelines, ect. I used this to help the agent debug certain parts such as when the 2d sam masks didn't line up, or if the triangulated keypoints werent correctly matching with the optimized mesh. The agents could go, click into the view, scroll through the timeline and see where things went wrong. Fable + Headless Rendering + Rerun MCP == 300x speedup in less then a days work With these new tools, I'm planning on going back to my gaussian splatting implemntation and cleaning it up + making it fast!

Pablo Vela

22,880 views • 1 month ago

Why the character movement in my custom game engine felt janky and how I fixed it. In a game engine, most often, a character moves using the physics engine. Meaning, the player is not just a coordinate in space but a physical body. It has velocity, it handles collisions, and it interacts with the world. Now, as you might know, physics engines need stability. If you run them at variable framerates, things start breaking. Objects phase through walls or fly off into space because the math becomes unpredictable. This is why most game engines lock their physics loop to a 60Hz fixed rate. But here’s the problem: If you have a high-end system, you don't want to limit it at 60 FPS. That's a waste of good hardware. Now, that said, if the GPU is rendering at 144 FPS but the player's position (physics driven) only updates 60 times a second, it creates a micro-stutter that ruins the "smooth" feel of the game. A good way to fix this is to treat the character as two separate things: 1. The Physics Body (Invisible part): This is the "real" character. It lives in the 60Hz physics world, it moves the player and handles collisions. 2. The Visual Model and Camera (Visible part): This is what the player actually sees. It doesn't care about collisions, its only job is to look nice and smooth at whatever framerate the GPU is pushing. Once you have this separation, you can use interpolation to keep them in sync. Every time the physics clock ticks, you save the previous position of the invisible body before moving it to the new one. Between those ticks, calculate how far we are between the last physics update and the next one. By using this to drive the visible parts of the game, the stutters disappear. The physics loop stays fixed behind the scenes, while the visuals slide smoothly between the snapshots. Example: - Right after a tick: blend_weight= 0.0 (The visual model stays at the old physics position). - Halfway to the next: blend_weight= 0.5 (The visual model slides to the middle point). - Just before the next: blend_weight= 0.9 (The visual model is almost at the new physics position). Pro-Tip A critical mistake I made initially, and one many devs make, is parenting the camera and visible parts directly to the player body. If you do this, the camera inherits the discrete 60Hz physics movement by default. In that setup, interpolation won't work because the camera is "stuck" to the physics clock. For this fix to work you must decouple the camera and visuals from the body and move them separately. Player movement processing in Detis Engine: - fixed_process: Physics runs at 60Hz. Handles collisions and raw movement. - process: Variable rate. Mainly used for player input caching in the player case. - late_process: Variable rate. Handles interpolated camera movement after physics and everything else is done being processed. - render. Submits the final interpolated transforms to the GPU. The test environment in the video is running on an old 2070-based laptop. Hopefully the video compression won't introduce any stutter... I’m sharing this in hopes it helps a fellow dev. Cheers.

Ioannis Koukourakis

48,636 views • 7 months ago

Exciting updates on Project GR00T! We discover a systematic way to scale up robot data, tackling the most painful pain point in robotics. The idea is simple: human collects demonstration on a real robot, and we multiply that data 1000x or more in simulation. Let’s break it down: 1. We use Apple Vision Pro (yes!!) to give the human operator first person control of the humanoid. Vision Pro parses human hand pose and retargets the motion to the robot hand, all in real time. From the human’s point of view, they are immersed in another body like the Avatar. Teleoperation is slow and time-consuming, but we can afford to collect a small amount of data. 2. We use RoboCasa, a generative simulation framework, to multiply the demonstration data by varying the visual appearance and layout of the environment. In Jensen’s keynote video below, the humanoid is now placing the cup in hundreds of kitchens with a huge diversity of textures, furniture, and object placement. We only have 1 physical kitchen at the GEAR Lab in NVIDIA HQ, but we can conjure up infinite ones in simulation. 3. Finally, we apply MimicGen, a technique to multiply the above data even more by varying the *motion* of the robot. MimicGen generates vast number of new action trajectories based on the original human data, and filters out failed ones (e.g. those that drop the cup) to form a much larger dataset. To sum up, given 1 human trajectory with Vision Pro -> RoboCasa produces N (varying visuals) -> MimicGen further augments to NxM (varying motions). This is the way to trade compute for expensive human data by GPU-accelerated simulation. A while ago, I mentioned that teleoperation is fundamentally not scalable, because we are always limited by 24 hrs/robot/day in the world of atoms. Our new GR00T synthetic data pipeline breaks this barrier in the world of bits. Scaling has been so much fun for LLMs, and it's finally our turn to have fun in robotics! We are building tools to enable everyone in the ecosystem to scale up with us. Links in thread:

Jim Fan

364,514 views • 2 years ago

Robotics has a massive, silent bottleneck. It isn’t just data collection—it’s the brutal 1x speed of the physical world. Genesis AI Genesis AI just unveiled Genesis World 1.0, and they are attempting to turn the notorious Sim2Real gap into a pure compute problem. Evaluating a robotics foundation model across edge cases usually means hundreds of hours of physical lab testing. With Genesis World 1.0, what traditionally takes nearly a week of continuous, real-world operation is being compressed into 30 minutes in simulation. What makes this different from just dropping a robot model into an off-the-shelf game engine? 1️⃣ Nyx Renderer: A custom, real-time path-traced engine rendering noise-free 1080p frames in under 4ms. Game engines use rasterization tricks that confuse AI; Nyx uses physically accurate multi-bounce lighting so the model's "eyes" see exactly what real sensors see. 2️⃣ Quadrants Compiler: A custom Python-to-GPU compiler to run heavily parallelized multi-physics simulations (rigid bodies, fluids, deformables) natively across architectures. 3️⃣ Evaluation First: They aren't rushing to train on synthetic data. They are using this purely for closed-loop evaluation to perfect the physics first, currently claiming an impressive 89% correlation with real-world hardware tests. If the industry can accurately evaluate models in simulation without the physical world bottleneck, humanoid development stops moving at wall-clock time and starts scaling with compute.

Humanoids daily

17,240 views • 2 months ago

DIGITAL TWIN UPDATE: The Unreal Engine digital twin project is CANCELLED! WE ARE OPEN SOURCING THE WORK!!!!!!! Instead, I'm building an end-to-end land management platform I'm calling Mazzap because it's an app and it's a map and also I'm Mr. Mazza. I'm also not calling a digital twin anymore; I'm calling it a V.E.I.L. which stands for Virtually Embodied Intelligent Land which serves the dual purpose of sounding way cooler and also conveys the long-term aims of the prject way better. With Mazzap anyone can easily generate a veil with nothing but publicly available data (and some photogrammetry objects if you so choose). Everything is perfectly georefrenced and you can right-click anywhere on your veil to get coordinates you can plug into google maps yourself. The next step for this is going to be building a survey companion mobile app so you can get field data yourself complete with attribute tables to drop in to get even HIGHER fidelity data than USGS. My stretch goal is using something like SAM 3D (but better) to generate georefrenced 3d tree assets based on the real trees on your land (which will eventually lead to growth and fruiting simulators based on your soil and hydrology data). Then again maybe that's not the next step; maybe the next step is plumbing in IoT devices so you can view assets in real time on your land. GPS trackers on the sheep, or maybe data from your solar controller. Or maybe it's up to you, because it's completely open source and it has an agents markdown file ready for your own coding agent to read and adapt for your purposes (did I mention this is vibecloded slop? sowwyyyy) Watch demo below and see how you can go from zero to beautifully rendered 3d map of your property in less than 15 minutes! If you're coming in cold to all this, below in the QT is a nested thread of reverse chronological tweets of my work on this (in unreal) so far.

Zy

57,100 views • 5 months ago

Tencent presents GameGen-O Open-world Video Game Generation We introduce GameGen-O, the first diffusion transformer model tailored for the generation of open-world video games. This model facilitates high-quality, open-domain generation by simulating a wide array of game engine features, such as innovative characters, dynamic environments, complex actions, and diverse events. Additionally, it provides interactive controllability, thus allowing for the gameplay simulation. The development of GameGen-O involves a comprehensive data collection and processing effort from scratch. We collect and build the first Open-World Video Game Dataset (OGameData), amassed extensive data from over a hundred of next-generation open-world games, employing a proprietary data pipeline for efficient sorting, scoring, filtering, and decoupled captioning. This robust and extensive OGameData forms the foundation of our model's training process. GameGen-O undergoes a two-stage training process, consisting of foundation model pretraining and instruction tuning. In the first phase, the model is pre-trained on the OGameData via the text-to-video and video continuation, endowing GameGen-O with the capability for open-domain video game generation. In the second phase, the pre-trained model is frozen, and we fine-tuned using a trainable InstructNet, which enables the production of subsequent frames based on multimodal structural instructions. This whole training process imparts the model with the ability to generate and interactively control content. In summary, GameGen-O represents a notable initial step forward in the realm of open-world video game generation via generative models. It underscores the potential of generative models to serve as an alternative to rendering techniques, which can efficiently combine creative generation with interactive capabilities.

AK

367,110 views • 1 year ago

My Personal View on Religion and Atheism: I genuinely believe we are living in a simulation of some kind. The chances, in my mind are far more likely than not. I don't believe in any of the various religions, but I think that atheism is just as faith-based as any of the major religions and probably just as likely to be false. If you atheist and attacking religious people, you are a hypocrite. Something likely created us, but it's likely not the "god" that most people envision in religious texts. In fact we could all be our own god in that the universe we live in is centered around us, and everyone else is an NPC. It is also possible that no one is an NPC and we are in a Massive Multi-player simulation, or somewhere in between the two. I'm pretty certain that through rendering (or not), it will eventually be entirely possible to simulate an entire universe and that we will eventually do it if we don't end humanity first. If we can simulate a Universe at some point in the future then we are almost certainly living in a simulated Universe. People ask me why I don't fear death if I'm agnostic and don't believe in any of the major religions. The answer is simple: There are an infinite number of possibilities as to what happens when we die. 'Nothingness' is only 1 of those possibilities, and any intelligent life form would likely make whatever comes next pleasant, as the more intelligent an organism gets the more compassionate they usually get. I like my odds.

Brian Krassenstein

174,992 views • 2 years ago

I have a pi-day challenge for all the physics students among you (or anyone willing to set up an experiment). If you share your results with me by March 10th, I may feature them in a video, depending on how good the results are and how many I get. Many years ago I made this video about how two colliding blocks on a frictionless plane can compute pi. My challenge to you is simple: Implement this in practice. The original puzzle assumes zero friction and zero energy loss in collisions, so obviously there are limits to how far you can get. I can tell you the real limiting factor is energy lost in collisions, more so than friction. Also, it's a wildly inefficient way to compute pi, to even get "3.14" you'd need this to work with a 10,000-to-1 mass ratio and have a way to count all 314 collisions. Matt Parker and I actually gave this a go, and the results were...okay, but could definitely have been improved :) Note, there's no reason to restrict yourself to powers of 100. For example, you could use powers of 4 to compute pi in binary. A mass ratio of 64-to-1 should give 25 collisions, which is 11001 in binary, and pi looks like 11.001... More generally, with a mass ratio of N-to-1, the number of collisions is around π / arctan(1 / sqrt(N)). So any big mass ratio gives you an approximation of pi by multiplying the number of collisions by arctan(1/sqrt(N)) If you do this, you can reach out to the channel via this page: Be sure to have a link to footage of the experiment. If anyone can get it to work with 100-to-1, I'd be happy, and if anyone can do it for 10,000-to-1, I'd be both delighted and amazed.

Grant Sanderson

177,775 views • 1 year ago

Great question! 🤔 How do you simulate *multiple* layers of glass/refraction in video games? In the last breakdown, I discussed how to create a glass shader in Unity URP. In essence, we were taking the render of the scene from the camera without any transparent objects. This is available in URP as the global _CameraOpaqueTexture. This is good enough for most use-cases, and more or less the classic way of doing it. 🔍 What is _CameraOpaqueTexture? As the name implies, there are no transparent objects rendered into this texture, so it's not possible by default to have something like a transparent-type ocean material/shader rendered through a refractive glass shader (which samples and distorts this texture to render on its surface, as if it's transparent). ⚠️ Why it’s tricky: It's much easier to sort without much further setup if you don't have refraction, and only a transparent material, because in that case you're not simulating the transparency yourself via sampling the rendered scene texture. But for refraction, it's required-- unless you want to go down the ray/path tracing route. You could simulate accurate, real dispersion... and that's about as expensive as it sounds, and it requires a rework of your entire rendering. --> 🚫 It's not a viable suggestion to offer. 📚 There are well-known terms regarding transparency sorting you can search up, but as you've specifically asked for refractive boxes, I'll discuss briefly about that. 🧱 Simulating layers of refraction: For this kind of rendering, you need some way to render the backfaces before rendering the front. And the backfaces that are rendered may contain whatever data you'd like for additional processing in the layer front-facing mesh render. 🧪 Examples: You could render the back face as a glass shader of its own, as an intermediate step after _CameraOpaqueTexture. Then you sample this texture instead and you end up with multi-layered refraction, "just like that". You can also render the back normals only, via a fully opaque shader, and use that to manually account for that during the front render. You could even bake in data needed for thickness in realtime. 🛠️ Without making it complicated for yourself, the most straightforward method is via render textures, and you can easily set some fractional resolution. Cameras in Unity have an open slot for target textures to render to. You can use custom render textures to process _SelfTexture2D. ⏱️ It's great to do low-resolution processing for more complex tasks, like blurring and caustics. You can get massive performance boosts, considering the square law and number of pixels/fragments that need calculations (quadratic scaling). 🚧 I've not fully exploited the possibilities myself, but research/development with PRISM is ongoing!

Mirza Beig

61,468 views • 1 year ago

LLM Wikis are being slept on. I argue that creating knowledge bases with LLMs or coding agents is one of the most valuable applications of AI today. It's about being intentional in building and scaling your intelligence stack. To showcase this, I wanted to share an LLM Wiki I have built over the last couple of months. It's called PaperWiki, and I use it across all my research workflows, along with my research agents. In fact, I also use it to curate papers I share with my communities, newsletter, and on X. The PaperWiki is updated regularly with automations, so I basically have agents on a loop maintaining it. All the entries are ingested from different sources and stored in a vault (Obsidian) and further indexed using qmd. And then further presented via an HTML artifact. So all of it is easily accessible to all my agents and easily searchable through full-text search and rich semantic search. The structure of the wiki has proven significantly useful to start interesting and exciting cutting-edge research projects with my research agents (from building tiny and more efficient gpt/difussion llms to building out SoTA harnesses and memory systems). It turns out that agents love markdown files and can more easily navigate the papers given the rich metadata structure of the wiki. I am just getting started on this, but it's clear to me that we should all be experimenting with LLM Wikis. Here's why: Building LLM knowledge bases gets you into the habit of leveraging AI outputs in all kinds of creative ways. It's the good kind of tokenmaxxing we should all be pushing for. LLM Wikis can be maintained automatically in a loop. I use an automation that updates the wiki every day based on papers I curate. The curation is another automation I run in a loop (with a bit of human in the loop), so I get to build on all my previous knowledge and expertise, and all of it compounds the deeper the integration/layers. One interesting result of this process is that I feel like I can better spot high-quality papers and remove noise more easily. Social media could never solve that. And most paper aggregators use metrics I simply don't trust. I like that agents can help with the noise vs. signal problem. This is important for research. Lots of people consider agents to produce mostly slop. But it doesn't have to be that way. Careful curations, prompts, automations, verifiers, and human-in-the-loop can produce some astonishing results. And you really don't need frontier models for this. I use a combination of frontier models (opus-4.8) and open-weight models (deepseek-v4-flash) to maintain this. An exciting future work (we are working on this DAIR.AI) is to tune specialized models on top of this to allow LLMs to quickly understand cutting-edge research ideas and can better conceptualize research strategies that further accelerate scientific research agents. I plan to open-source a bunch of this work, including the artifact, but this is currently work in progress, and I was excited to share some thoughts as I continue working on it. Sharing more as I go. Stay tuned!

elvis

55,323 views • 1 month ago

Abbas Kiarostami on how he developed his scripts & on his directing style: "I don't have very complete scripts for my films. I have a general outline and a character in my mind, and I make no notes until I find the character who's in my mind in reality. When I find the character, I try to spend time with them and get to know them very well. Therefore my notes are not from the character that I had in my mind before, but are instead based on the people I've met in real life. It's a long process, it may take six months. I only make notes, I don't write dialogues in full. And the notes are very much based on my knowledge of that person. Therefore when we start shooting I don't have rehearsals with them at all. So, rather than pulling them towards myself, I travel closer to them; it's very much closer to the real person than anything I try to create. So I give them something but I also take from them. There's a Rumi poem that helps to explains this - it goes something like this: You are like the ball subject to my polo stick; I set you in motion, but once you're off and running, I am the one in pursuit. Therefore, when you see the end result, it's difficult to see who's the director, me or them. Ultimately, everything belongs to the actors - we just manage the situation. This kind of directing, I think, is very similar to being a football coach. You prepare your players and place them in the right places, but once the game is on, there's nothing much you can do - you can smoke a cigarette or get nervous, but you can't do much. Directors don't always create, they can also destroy with too many demands. Using non-actors has its own rules and really requires that you allow them to do their own thing." ("Abbas Kiarostami", Guardian interviews at the BFI, The Guardian, 2005) P.S: Remembering the great Iranian filmmaker Abbas Kiarostami on his 86th birthday! Clip from: And Life Goes On (1992) Director: Abbas Kiarostami

DepressedBergman

31,078 views • 1 month ago

Experiments in progress. The one on the right has been learning for ~3 hours, the one in the middle for ~1 hour, and the one on the left just started a few minutes ago. The initial motivation for making the physical Atari was just to commit ourselves to a subset of algorithms that can make progress in this setup. This commitment rules out algorithms that require billions of samples to learn (or worse, require multiple environments running in parallel). Atari games are simple enough that we should be able to show learning on them in a short amount of time with no prior knowledge. Since then, I've realized that this setup is also a good way to compare different paradigms in robotics in a principled way. These paradigms are sim2real, learning from tele-operated data, and learning directly on the robots. So far, I have observed that getting sim2real to work reliably is hard. It requires tweaks that don't scale. Policies that can play perfectly in simulation fall apart because of latencies and the messiness of the real world. These aspects could be modeled to improve the simulation, but not without sinking significant human engineering hours. I have higher hopes for learning from tele-operated data, but that requires a human to learn the task first. These experiments are on my to-do list. I have to learn to play some of the games well through the robot. I’m half-decent at playing Pong and Ms Pacman now. Learning directly on robots is looking like the most promising approach. This approach takes away pesky distribution shifts and makes it possible to have algorithms that continually improve with more data and time without any human intervention. It feels great to let experiments run overnight and wake up to find improved policies. With learning on robots, I should, in principle, be able to go on a long vacation and come back to find better policies for complex tasks beyond Atari games. Whether that is possible with current learning algorithms is a different question.

Khurram Javed

52,110 views • 8 months ago

My second book (of now five) was on contextual software at Written to get ahead of Salesforce's strategy (each of our five books were written for the same reason -- to get ahead of the big company strategists -- and each did exactly that). Marc Benioff (Salesforce's CEO) wrote the forward because he liked my work. Today I saw a piece of the future of X. So this post is for Elon Musk. Grok and X needs what I just saw. Two guys from India visited my house this morning to show it to me: Jibin Mathew and Jikku Jose, founders of StoryBrain. The everything app needs to move way past TikTok if it's really going to grow. So, everything here, especially company posts to sell people on things, must become more visual and personalized (companies here are a big deal, I've found 3,600 AI companies already here and mapped them all out at They showed me that their system can generate attractive videos from: 1. An Amazon product page. 2. A PDF. 3. A Walmart product page. Or really any product page. The AI ingests them, finds important things on them to present to sell the product, and generates media for doing just that. Now why does this matter? Well, these "adaptive media" pieces need: 1. To be translated to all languages. India, alone, has more than 20 languages depending on what part of the country you are in. 2. Get the key selling/story points. 3. Learn from users. If everyone buys more on product pages with red backgrounds, it can learn that and change everything to red. 4. Work on every device. Not just new iPhones. Old shitty Android phones (no AR). TV's. Laptops. Tablets. Even watches. 5. Be personalized for culture and better results. Their team is half AI developers and has been working on generative AI to do this for four years. AI generation changes the game. If X is going to be the everything app that Elon says he wants to turn X into, then it must move toward a much more visual interface, and, soon, into 3D as well due to Vision Pro and competitors. In other words, X needs something like this. Why? 30% of the human brain is for visual processing. They process visual pieces like this much faster than the text that GPT generates. There are many millions of people who can't read at all, too. Can someone who is selling, say, jewelry, or travel, or, "everything," easily make these new pieces to push to social media? In an "everything" app it needs to be super simple. Also, by generating these on the fly (with some precaching) you can ensure they are always up to date and topical. This was my second startup of the morning. Starting the week with a bang!

Robert Scoble

21,184 views • 2 years ago

"I'm back from The Continent." I've always thought that expression referred to the act of returning to America from Europe, but according to the AI, "The Continent" can refer to any continent at all. In this regard, I think The AI is mistaken, but I can't prove it, and frankly, feel no desire to argue with a faceless entity of greater intelligence and dubious authority. Suffice it say, I'm home. I can also tell you, with absolute certainty, is that a LOT of people on this page were delighted to see The AI transform Chuck and me into talking babies last week. Apparently, while I was on "The Continent," someone in my office with too much time on their hands got creative with The AI, and now, people are demanding to know if that rendering of Baby Mike actually resembles the boy I used to be. I think it does, sort of, and have asked my mother to provide some photograph proof, which I will share here as soon as I get it. Speaking of my mother, lots of other people have wondered what a "Baby Peggy" would look like in this same format, and the answer to that question is attached, in the form of a brief video clip pulled from our most recent conversation. I encourage you watch on whatever continent you find yourself, and let me know if Baby Peggy should make future appearances on this page. Personally, I think the woman is charming at any age, brimming with pearls of wisdom and self-deprecating insight guaranteed to improve your current disposition. Our entire conversation, as grown-ups, is here, Please enjoy at your convenience.

The Real Mike Rowe

24,433 views • 1 year ago

Q: It must be complicated, when I listen to you, to have a private life, somebody to understand your passion and to share this moment. Lewis: "It really is, especially I would say more so today than ever before, which is the way the world is, you know. I look at the other drivers and I wonder how they're doing it. You know, some are having kids and some married, some, you know, most of them girlfriends. I did that when I was in my 20s, but I took a decision to really to maximize my time that I have here because it's not as long as you think and it's limited, you know. And I don't want to look back and be like, ah, if I just gave a little bit more here, I didn't sacrifice my time because I was committed elsewhere." "So I really focused in these last, you know, particularly these last 10 years, like get everything I can out of my performance. Then when I retire, then I can do whatever I want. You know, I can dedicate my time to whatever else it is and not have to worry." "But in this competition time, focus on health, well-being, my mental health, my driving technique, being as good an engineer as I can be, and also being the best teammate that I can potentially be for the guys that I get to work with. That's my sole focus. You know, I want to win." "I've been fortunate enough to win with great teams in the past. Particularly, obviously, with Mercedes and with McLaren, which was incredible. And my dream is to win a championship with Ferrari." "And that's something that hasn't been done for a while. But they have absolutely every ingredient that's needed to win. It's just like getting all the pieces of the puzzle in the right place. And that's what I'm trying to work on in the background with Fred and the whole team." [📹 VIGNERON GAETAN]

sim

86,907 views • 1 year ago