Finally, I have a chance to step into my father's shoes. Grow a pair. Live the life I was born to live.
@hamadaelwarky36404 ай бұрын
Time to add 10 years of experience to my resume/CV
@lionlike58564 ай бұрын
Can we stop making this joke every fucking video
@Eichro4 ай бұрын
My work experience is multithreaded, that's how
@atemoc4 ай бұрын
@@lionlike5856 We would if it wouldn't still be true
@alexander1989x4 ай бұрын
Recruiters be like: Do you have 10 years experience in bend?
@ds9204 ай бұрын
@@lionlike5856it was the first time I’ve seen this, now I know it’s a joke😂
@noname-ql5fn4 ай бұрын
Watched this video on 8000 Cores in parallel, added 500h of bend experience to my resume
@axelnick14 ай бұрын
I just knew you actually calculated the time x cores, instead of giving random numbers
@augustday94834 ай бұрын
5head 🧠
@cbaesemanai4 ай бұрын
I will hire you for my job listing which requires 10 years of production bend programming experience
@davideographer44104 ай бұрын
ACKCHYUALLY... 500h = 30,000m = 4m video x 7,500 cores 😋
@nu1x4 ай бұрын
500 ? You need to start with 50 000 hours for entry level positions, or no one will take you seriously.
@VictorTaelin4 ай бұрын
That video was *extremely* well done. Seems like someone has read the docs! Thanks for making it. We're long-term fans of your content here at HOC. If you or any other content creator wants to reach out, we're available to talk about the technology and answer any questions. We know there's a lot of work to do, but we're excited about it. You can expect Bend to become faster with every release. There are also many missing features (64-bit numbers, larger memory limit, etc.) that will be added very soon!
@steinerkelvin4 ай бұрын
Let's do it. 🚀🚀
@xeon396884 ай бұрын
excited*
@mysterry20004 ай бұрын
Thank you for commenting! Shouldn't it be possible to model for loops to work like the tree model that Jeff showed, or am I missing something?
@Rasperin4 ай бұрын
This might legitimately make my life so much easier. It looks like I have some docs and playing around to do.
@ben_car_81154 ай бұрын
@@mysterry2000In the circles that would be using this language, the “fold” keyword and everything that comes along with it is actually more understandable that calling it a loop. When he said no loops I originally was confused but as soon as he said it’s replaced by “fold” I immediately got it. It’s just one of those things :/
@samwalker75674 ай бұрын
Folds have been a mainstay of the functional programming world for a very long time. I remember teaching students how to implement folds in Python a few years back and it blowing their minds. The basic concept that all loops are simply a subset of a wider class of iterative constructs called folds is transformational - I love the simplicity and inherent understanding of a fold. This new concept of a bend is incredibly interesting, as like the fold it appears to be able to emulate any kind of loop or iterative function, but instead of going from many to one, goes from one to many. I will be playing around with this over the next few weeks I am sure!
@asdfghyter4 ай бұрын
Yeah, these concepts are really fascinating! The paper "Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire" from 1991 gives a deep-dive in the different kinds of recursion schemas you can work with, though unfortunately not in the most accessible way possible. In that paper a fold is called a catamorphism, while a bend/unfold is called an anamorphism. Having these concepts built into the language is very interesting, as it both gives them more directly to users and allows the compiler to optimize them directly. Another interesting related concept is the Church-encoding of data-types, allows any algebraic data type to be encoded as a (higher order) function. The Church-encoding of a data type is literally just the data applied to its fold. This is actually used for list-fusions in Haskell, where the lists are temporarily converted church-encoding, which can allow skipping construction of intermediate lists that would've been immediately folded away. Afterwards, you can recover the original data by giving the fold the original constructors. As the video mentioned, a fold is basically just a search-and-replace, where each constructor is replaced by some function, so replacing them with the original constructors is obviously a no-op. I'm not sure if there is a corresponding concept to the Church-encoding for bends, but it feels like there should be one
@asdfghyter4 ай бұрын
Looking at the Haskell module Data.Fix, I believe that what it calls the Least Fixpoint data Mu f = Mu { unMu :: forall a. (f a -> a) -> a } corresponds to the church-encoding, which would mean that the Greatest Fixpoint is the corresponding thing for a bend data Nu f = forall a. Nu (a -> f a) a both of these are equivalent to the basic recursive fixpoint data Fix f = Fix { unFix :: f (Fix f) } which allows you to write recursive data types without explicit recursion, which also means that you get the folds and bends for free In the bend language, you wouldn't need the Fix datatype, since folds and bends are built into the language
@AlexRodriguez-gb9ez4 ай бұрын
BTW you also know that FOLDS can be done not only on lists and graphs, they can be done on AST of code, and the fold on the AST is what is reffered to as an interpreter (the LISP eval function) O_o. Also in Haskell Monads are cata mappables, where the cata operation of monoids (i.e: (0,+,sum),([],++,concat),(true,&&,and) is a fold operation. Monads(programmable semicolons; chainable functions) literally are calling evaluate then map on your embedded languages as ASTs, and they split the embedded languages into their semantics so that Monads are programmable semantics.
@Tony-ow9bo4 ай бұрын
You talk like somebody who thinks IQ is an important number.
@asdfghyter4 ай бұрын
@@Tony-ow9bo huh, what? why?
@jonathanjeshualaniba59584 ай бұрын
“1 week of problem, instead 7 days with 7 computers” 🤣🤣🤣
@deadlock1074 ай бұрын
doesn't make any sense, especially in the context of parallel computing
@Qohist4 ай бұрын
wooosh or no?
@ashenmint4 ай бұрын
@@Qohist it's definitely a r/wooosh
@TeslaPixel4 ай бұрын
@@deadlock107 The joke is that the time saved running parallel was spent on the extra complexity of developing a parallel solution.
@alexlofka3604 ай бұрын
Thanks it wasn't stated in seconds😂
@farouk_bloncko4 ай бұрын
someone tomorrow will start recruiting people with 10 years of experience in this
@MmMRmaxim4 ай бұрын
This reminds me. Fuck the modern industry.
@nKe.4 ай бұрын
With salary being "valuable experience"
@realbigsquid4 ай бұрын
😂
@AMan-xz7tx4 ай бұрын
yeah, lol. The only reasons that companies will ask for that is, either because they want the employee to do the work of making the company look better on statistics, or because they want the credentials to be impossible so they have an excuse to cut costs with dirt-cheap outsourced labor (or, with a textbook "do less with more effort" lack of experience that only an executive could have, with a GPT AI model)
@MmMRmaxim4 ай бұрын
@@AMan-xz7tx Problem is, that at a certain level this approach just won't work anymore. If a company demands unattainable experience , the few candidates that will have a somewhat relevant portfolio will demand a lot more than the company is willing to pay.
@_ptoni_4 ай бұрын
Saw this on Twitter/X and was like 'no way, this is a scam'. Then I saw their pfp was an anime avatar and ngl kinda trusted them immediately lmao
@FlowAshley4 ай бұрын
😂😂
@fresh2184 ай бұрын
Certificate of trust spotted
@mahersafadii4 ай бұрын
Same, I saw it from anime pfp account yesterday lol
@Manivelarino4 ай бұрын
Anime nerds single handedly pushing humanity 100s of years ahead just to make their waifus real in their lifetime 💪
@genghiskhan66884 ай бұрын
why are weeaboos like that lol
@richtigmann14 ай бұрын
That diagram showing the combinators being untangled is just so awesome.
@ChrisMazzerbo4 ай бұрын
Yoo!! The guy who wrote that paper you mentioned at 2:15 was one of my teachers at my first year of my maths bachelor, that's sick
@neposis4 ай бұрын
Yoooo new programming thing dropped that's not a new js library finally letsgoo
@DeltaByte4 ай бұрын
not a js library yet*
@FenrirRobu4 ай бұрын
@@DeltaByte chatgpt how do I compile a rust based programming language for wasm
@thejoycode4 ай бұрын
just started working on the JS binding to bend so we can write bend in js using bun
@okachobe14 ай бұрын
Its not AI!
@carlosmspk4 ай бұрын
I'm not super on top of JS world, but haven't new frameworks kinda stopped releasing lately?
@cherubin7th4 ай бұрын
But GPU guy said we will never have to code again.
@Meleeman0114 ай бұрын
he did say that didn't he? LOL
@andrewboldi474 ай бұрын
*the* GPU guy
@Eleganttf24 ай бұрын
all hail the lord mighty Jensen huang
@andrewboldi474 ай бұрын
@@Eleganttf2 shhh it's an insider joke people aren't supposed to know 😂
@cognitive-carpenter4 ай бұрын
Dude that guy is becoming a hack quicker than you can fold
@komeelali38324 ай бұрын
7 days 7 computers joke was hilarious 🤣🤣🤣
@lovwanshichetan4 ай бұрын
Well, that's somewhat true for some cases. As this language heavily relies on recursion which takes a lot of resources & time for the same thing can be done with a normal for-loop but since it uses parallel computing it makes up for that. And that 7 computer analogy was used there because it can use all cores of cpu/gpu unlike what traditional languages do.
@AMan-xz7tx4 ай бұрын
I initially thought he made a joke about crypto miners, both before and after I got the joke it was still funny
@supercompooper4 ай бұрын
I liked his random numbers ❤
@notaspectator4 ай бұрын
did it lol , buggy distributed node code
@ydne4 ай бұрын
Was it a typo or a satirical analysis of how we are becoming frozen in a block of new good-intended time-savers?
@EllGeeLabs4 ай бұрын
People are rediscovering functional programming without knowing it.
@leftaroundabout4 ай бұрын
I think it's more accurate to say that people are copying features from Haskell without giving it enough credit.
@bearwynn4 ай бұрын
@@leftaroundabout the description for bend literally shouts out haskell
@xaaal111224 ай бұрын
@@bearwynn bend is running on interaction combinators, that are optimal implementation of lambda calculus, which haskell is running on
@keepmehomeplease4 ай бұрын
@@leftaroundaboutyou have no idea what you’re talking about
@leftaroundabout4 ай бұрын
@@keepmehomeplease you sure excel at phrasing criticism diplomatically, hm? But, what's your point? There can't be much doubt that the designers of Bend were well aware of Haskell from the start, and so were the designers of, say, Rust. So who do you mean that supposedly didn't know about functional programming?
@pamus62424 ай бұрын
We needed this 17 years ago. It is happening 17 years too late. Imagine what we could have done with those core2quads and Phenoms !!
@mho...3 ай бұрын
🥺 My Phenom2 x4 955BE ran for over 10 years 💪& the Motherboard died before the CPU! Was a really great Piece of Silicon!
@richm3683 ай бұрын
@@mho... I had the same processor! Gave mine to my dad it was working perfectly fine and even still running games until the motherboard gave out in January this year. I think I might frame it.
@mho...3 ай бұрын
@@richm368 i did "frame" mine in a little diplay cube, standing on his corner on my desk 😅
@mephilees78664 ай бұрын
Parallel Language: Check. Supports GPU: Check. Built with Rust(has thread safety, fast, beautiful, runs everywhere): What? ALL IN. let's integrate to Python and push to production now.
@vidal97474 ай бұрын
Python Integration is a must unfortunately. I don't like that it is necessary, but a lot of people are using it
@marcs94514 ай бұрын
rust is as thread ""safe"" as any language, the compiler is simply more restrictive about mutations
@jailsonmendes61204 ай бұрын
in what world rust is beautiful? lmao
@the_mastermage4 ай бұрын
@@marcs9451 thats why bend doesnt even allow mutations in the first place.
@geroutathat4 ай бұрын
It's neat but putting it in production shouldn't happen. Your computer isnt made to run one python app, it runs an os and all sorts, if your app can run in one thread to the satisfaction of people do it that way, let the computer manage it.
@AlamKanak4 ай бұрын
takes the order, cleans the toilet and cooks the food, in that order lmao 😂😂
@mu3a.d2154 ай бұрын
ngl that someone looks like you, respectfully.
@displayname7t44 ай бұрын
@@mu3a.d215 delete this
@shoopddawhooped4 ай бұрын
In parallel now they can clean the toilet 3x before cooking the order.
@stephenkolostyak40874 ай бұрын
@@mu3a.d215 that's really ignorant, if the toilet doesn't get cleaned what are we going to cook in?
@Nina-cd2eh4 ай бұрын
Smh these damn customers can't even appreciate concurrency
@Walker-ky9vy4 ай бұрын
1:20 “may even lead to conflicts with demons”😂
@paulstelian974 ай бұрын
daemon, as apparently some dialects call demons daemons
@sinistressdreams72434 ай бұрын
@@paulstelian97 I think that was the whole joke and thats why he is laughing about it...
@nuggert4 ай бұрын
@@paulstelian97🤓
@---..4 ай бұрын
@@paulstelian97 I think it might be referencing the famous "nasal demons" meme from 1992 on comp.std.c noting how undefined behavior (which is common in incorrect parallel programs) can permit compilers to do arbitrarily strange things, giving "make demons fly out of your nose" as an example.
@ivoryas16964 ай бұрын
@@---.. Neat. Thanks.
@MorganEarlJones4 ай бұрын
I'm not in tech but I've been following this one after a few people on Haskell Twitter mentioned it, the first of whom exclaimed something along the lines of "this guy is turning GPUs into real modern LISP machines!" which is exciting in and of itself, and then I think Ed Kmett engaged with something indicating that this does reduction of something akin to the lambda calculus really efficiently with GPU acceleration which is REALLY exciting
@spdcrzy3 ай бұрын
oooooooooooooooh. I just went down the lambda calculus rabbit hole again. ooooooooooooooooooooooooooooooooooooooooooooooooooh. This is VERY interesting (if true).
@bob_mikhail4 ай бұрын
I don't know Bend, however my favourite Futurama character is Bender. That goes straight into my CV
@BlackHairedTidus4 ай бұрын
Favorite -character- programming language: Bend -er-
@douglaskrause37374 ай бұрын
0:30 So THAT'S why my CUDA code wasn't running close to optimally... it's not my sophomoric understanding of algebra, it was that I wasn't leveraging REGEX!!!
@stephenkolostyak40874 ай бұрын
how else will you parse... large text files...
@mage36904 ай бұрын
Simply ripgrep your way to Blazingly Fast Code™, young padawan.
@zimriel4 ай бұрын
"and now you have two problems"
@Shazam9994 ай бұрын
you now have a sophomoric understanding of regex.
@asdfghyter4 ай бұрын
@@stephenkolostyak4087 how else will you parse (X)HTML?
@Mersoh4 ай бұрын
Imagine running this on cloud servers. They'll hate you for maxing out their resources constantly lol
@igorthelight4 ай бұрын
You could make them hate you in any language. Bend is just a little bit easier ;-)
@xSNJVideos4 ай бұрын
@@igorthelight A lot a bit easier my friend, a lot a bit. The amount of money my company has lost/wasted on parallelism issues is honestly insane. Time to present this to my team...
@fred.flintstone40994 ай бұрын
Cloud servers run virtual machines on hypervisors so each customer can only run on as many threads as the virtual machine is configured for, and virtual machines come in different sizes like small, medium and big depending on which one you pay for.
@sennetor4 ай бұрын
You mean the CFO or however set the cloud spend budget would hate you. CSP's would love you for this.
@sugo84794 ай бұрын
@@igorthelight you might even say that you can get them "bent" out of shape pretty easily
@DecadantHandshake4 ай бұрын
The first video on all of youtube about this language. Nice.
@4RILDIGITAL4 ай бұрын
The parallelism promise sounds revolutionary for computing. The way you explained the workings makes it seem less complex. Looking forward to exploring more about this language.
@michaelbuckers4 ай бұрын
Parallelism has been a thing since as early as computers had multiple CPUs, which is almost as soon as computers became a thing. The difference this makes, is that being a room temperature IQ chatGPT user does not preclude you from writing multithreaded code.
@travotravo61902 ай бұрын
The problem has always been that coding stuff in that way is just super complicated and adds a whole other level of potential failure points to code. It will be interesting to see if this actually fixes it, or it's just a "cool idea but not up to the task."
@thecancermen2454 ай бұрын
Props for covering this project
@NaN-se8ye4 ай бұрын
The multi-threaded example on Python isn't correct, the code shown in the video around 1:11 is creating Python threads which are executed under GIL meaning that only one thread is executed at a time under a single system thread (being Python interpreter itself). So while providing multi-threaded languages feeling, the threading module in Python is not suitable for CPU bound tasks and you'd have to mingle your software parts around to achieve parallel execution on multiple threads/cpus.
@cristianbenescu79494 ай бұрын
🤓 well ackchyually
@arie19064 ай бұрын
Thank you, I learned something
@angelmusonda79514 ай бұрын
Exactly what I wanted to say.
@kjgoebel70984 ай бұрын
Also worth noting, there is a multiprocessing library in Python, which does get around the GIL.
@megaspazos14964 ай бұрын
@@kjgoebel7098yes but python multiprocessing cannot exploit hyperthreaded architectures in the same way multithreading does in C/C++ for example. Also threads are more lightweight and efficient than processes.
@Miss0Demon4 ай бұрын
I’m just gonna stick with C, like God intended.
@RawFish2DChannel4 ай бұрын
the Holy-C?
@cherubin7th4 ай бұрын
O yes God hates people.
@inversemicron4 ай бұрын
@@RawFish2DChannel The Holy C.
@prontomatias30814 ай бұрын
Temple OS this is the way
@jakezepeda12674 ай бұрын
God's Language
@rodrigosimoes71034 ай бұрын
Babe wake up Fireship uploaded
@karanr3ddy4 ай бұрын
Your babe is with me. she's had a good time.
@LittleMicho4 ай бұрын
@@karanr3ddy Bad joke :/
@DrDiabolical0004 ай бұрын
@@karanr3ddybruh... that was way too cringe.
@akshorts21154 ай бұрын
Your babe is sleeping with me 😴
@turolretar4 ай бұрын
The babe is woken. You, however, are sleeping on the couch tonight
@johngodoy29294 ай бұрын
the way you talk about code is so satisfying
@kmuralikrishna19984 ай бұрын
Time to fold 10 years of bend to my resume
@divine2034 ай бұрын
4 minutes and one poo later. I now have 10 years experience of Bend. Thanks fireship 🔥
@zimriel4 ай бұрын
they won't hire you unless there's streetcam evidence
@ivandenkov74464 ай бұрын
How do you poo so fast?
@SianaGearz4 ай бұрын
@@ivandenkov7446 Usually 60 years of training (accelerated at triple rate). You need to get your pooping game up mate.
@P-39_Airacobra4 ай бұрын
Sorry but the industry is already ages ahead of you and left you behind, you're gonna have to find a new specialty
@jeffh45814 ай бұрын
That's actually so sick. Gonna check it out now
@carlosmspk4 ай бұрын
it's VERY early stages. It's probably not the best dev experience right now
@gblargg4 ай бұрын
0:40 I so wanted to see that program written as a bunch of threads each writing one character, with synchronization between them.
@last8exile4 ай бұрын
look into sleep sort
@gblargg4 ай бұрын
@@last8exile Hah, I think I already get it. Clever (but potentially a looong time until the last element gets appended).
@taisiyaaksenova-b7g4 ай бұрын
I heard a lot of positive stuff about you and then I met this video. First video of yours i am watching... Totally hooked and I subscribed before I even finished watchng. Thanx you.
@vladislavkaras4914 ай бұрын
That quite comfy, that by modifying launching argument, you can specify on the fly, if you would like to use single or multithreaded and either CPU or GPU! Thanks for the video!
@lipepaniguel4 ай бұрын
Brazil mentioned! Let’s gooo!!
@Sergio_Loureiro4 ай бұрын
France mentioned! Let’s gooo!!
@igorbaltarejo47454 ай бұрын
"Hi mom!" ❤
@igorbaltarejo47454 ай бұрын
0:40
@ada00154 ай бұрын
rip for his mom
@ryanleffler584 ай бұрын
😢 I’m sure she’s proud
@anonl58774 ай бұрын
You should do a video about Lean, it's a language that can understand mathematical logic and be used to prove theorems. It also has a very unique type system.
@paulstelian974 ай бұрын
There’s also a tiny game where you have to prove some stuff about natural numbers online.
@anon_1484 ай бұрын
He should do a video about doing some actual lean
@d3lta_p4 ай бұрын
I LOVE LEAN, CHARLIE. I LOVE LEAN!
@marcuss.abildskov71754 ай бұрын
Next he should do a video about Gleam
@ripplerxeon4 ай бұрын
We are looking for a code bender with 10 years experience in code bending. I liked my own comment cuz I like it that's why I posted it. GigaChad
@gtgunar4 ай бұрын
APL was made with built-in compatibility with parallel algorithms and reasoning. It could do all of it on a modern interpreter.
@igorthelight4 ай бұрын
Including Cuda? ;-)
@JohnnyUtah4884 ай бұрын
1:02 "handling one instruction per cycle" *** CISC has left the chat ***
@wezzernium4 ай бұрын
Uhhh... x86 has been doing more than one instruction per cycle for decades and I'm pretty sure the only ISA more CISC that it was VAX...
@devnom91434 ай бұрын
DIV over in a corner ruining everything by taking multiple cycles on the majority of architectures; Unless it's an integer division by 2 cause then you can typically get away with a bit shift to the right
@JohnnyUtah4884 ай бұрын
@@devnom9143 Haha, beat me to it. The Motorola 68HC11 microcontroller takes 41 cycles (!) for an integer divide.
@JohnnyUtah4884 ай бұрын
@@devnom9143 Haha, beat me to it. IDIV takes a whopping 41 cycles on a M68HC11 microcontroller.
@JohnnyUtah4884 ай бұрын
@@devnom9143 Haha, yes! I once worked on a microcontroller that took ~40 cycles for a DIV instruction.
@explodestudios4 ай бұрын
Will this help me build my todo app
@newchallengers94204 ай бұрын
Yes if it's a ToDo app for all your parallel universe personas
@leviathan57924 ай бұрын
Funilly enough, I just spent my afternoon reading about Bend, and then stumbled upon this video! It's definitelly very interesting, and it seems promising. Honestly, I wish this had come out 3 weeks ago, maybe it could have saved a project of mine...
@TerabyteTy3004 ай бұрын
I love that he still puts the “Hi Mom” references in. Gets me every time.
@sortysciaofiscia4 ай бұрын
I DID NOT UNDERSTAND I need a follow-up tutorial on folds and bends
@sortysciaofiscia4 ай бұрын
Edit: I read the github page and I firmly believe that nobody will ever understand folds and bends.
@footballuniverse65224 ай бұрын
@@sortysciaofiscia gotta ask gpt4 to summarize for us simpletons xD
@CaarabaloneDZN4 ай бұрын
Amazing to see this featuring on fireship crazy stuff from the HOC guys
@piked864 ай бұрын
This sounds like a nightmare for compiler bugs
@rip4real4374 ай бұрын
the picture used for the daemon conflict was perfect 🤣
@mastermandan894 ай бұрын
I never understand any of these videos, but I watch them all and nod, "interesting"
@YasmineCheddadi4 ай бұрын
3:56 "this is bend the code report" was a missed joke
@wezzelinator4 ай бұрын
Finally. Procedural Haskell.
@evergreen-4 ай бұрын
Wait, what? Can you elaborate, please? 2 questions: what’s procedural about this language? Folds and recursions associate with FP. Haskell is said to be good for parallelism also. What’s different with this language that it’s better than Haskell?
@Gigasharik54 ай бұрын
Its not haskell and its not procedural at all
@brendanfay20174 ай бұрын
@@evergreen- the language is procedural but has folds and bends and parallelization like haskell. it's better because stuff like parallel arrays is really hard in haskell, but I don't think it claims ot be better than Haskell anyway. different use cases
@wezzelinator4 ай бұрын
@@brendanfay2017 :^)
@artificiyal4 ай бұрын
came after i spent 3 months learning cuda
@SVVV974 ай бұрын
It really targets a different domain than cuda. It's for things that you specifically don't want to implement in cuda: just normal, general purpose programming. As the name implies it's a VM and that VM comes with some overhead - so if you implement something once in bare cuda and once in bend the cuda version will be faster. Bend / HVM(2) won't magically speed up your matrix multiplications and stuff like that. But since you already know cuda you'd surely agree that there's a ton of things you would never implement with it simple because it's fucking hard to do so or simply not practical. That's where bend comes in: putting algorithms on the GPU that were traditionally relegated to the CPU due to the limitation of the current implementations of high-level languages. (There's apparently also some room for super new algorithms / making already known algorithms that have issues in current systems more feasible in practice, for example around symbolic computing) (At least that's my current understanding - I'm not involved with the project I've just been following it for some time)
@NielsGx4 ай бұрын
@@SVVV97 feels like GPU will replace CPU completely damn If you can get an OS working like this
@Dom-zy1qy4 ай бұрын
You know I was just about to write a comment along the lines of "Man I'm glad I didn't invest my time into studying GPU architecture & learning cuda"
@tacokoneko4 ай бұрын
@@NielsGx OS are fundamentally single threaded concepts at a low level, that's why when supercomputers run, the operating system the supercomputer runs doesn't boot once it boots thousands of times, once for each individual SoC node in the cluster, and the init system of Linux is a single process PID 1 that all other processes fork from, and the bootloader of an SoC initializes the processor through a series of mode changes and all of these occur in a single thread. multithreading and multitasking is a _feature_ that gets enabled and active at a certain point in the SoC boot process but it can't be instantly active it takes a few milliseconds
@dhvcc81824 ай бұрын
@@NielsGx I don't, because the system still needs high hz cores, it's a dandem of GPU/CPU where CPU is the main head
@KingVoodoo2264 ай бұрын
You're in a league of your own bro, these videos are hella informative and have me rolling lmao
@realityChemist4 ай бұрын
Honestly, as someone who deals with parallelization pretty often (scientific computing), this is kinda huge
@labden95404 ай бұрын
Ive been watching victor and HOC build this for 3 years. Everything he’s said he was gonna build he has. He’s gonna change the worlf.
@elxakiltse87734 ай бұрын
and after the worlf, he's gonna change the world!
@AdnanTahirofficial4 ай бұрын
Finally, with Bend, we can drink 10 coffees at the same, parallelism.
@alexanderst.79934 ай бұрын
"Two completely random numbers". Yeah i believe you :)
@rafaeldeleon33864 ай бұрын
Here's another two completely random numbers if you don't like those: 80085 + 7175 Happy?
@zweitekonto96544 ай бұрын
Holy shit how did i missed this joke
@artoriapd4 ай бұрын
@@zweitekonto9654 same lmao 😂😂
@animatorslife97334 ай бұрын
yeah, I believe him as well!
@feynstein10044 ай бұрын
What a time to be alive!
@JavArButt4 ай бұрын
Love your humor, 1 week in serial or 7 days in parallel with 7 different pcs
@littlejack594 ай бұрын
The ways deveolpers are gonna use this to right shitter but faster code is gonna be incredible.
@ric82484 ай бұрын
Episode 5476 of "coders" afraid of C++ looking for an easy way out.
@BlackQuest5753 ай бұрын
C++ isn't *that* bad
@RandomGamingDev4 ай бұрын
I mean, it sounds great and all, but at least right now, I don't see how this is going to be much better than the solutions we already have for running code on the GPU like compute shaders (OpenGL/OpenCL/CUDA) or a library like tensorflow or pytorch, and the multiple solutions for multiple threads and async/await in all the major programming languages, all of which already abstract away everything quite a lot. Trying to make hardware accelerated computing and general parallelism more accessible is great, but this is the sorta thing where you get into the nitty gritty bits of your algorithm's performance and with that explicit's almost always better than implicit especially with algorithms which require complex human thought and logic to optimize, something much harder to put in a compiler compared to say, the comparatively much more basic optimizations made by the C compiler, and when GPU cores can be easily compared to the CPUs of the yesterdecades: not exactly something you want something running high level code in an application worried about performance to this degree. So you end up left in a weird limbo where most applications are fine with a single thread, most of the few applications left that aren't delve into async/await and stay in the same language, and then the applications that really care about performance like simulations end up going with the more performant options mentioned previously that are already the industry standard anyways, and for good reason too. In my opinion, I love the project and its idea. It sounds great and I want it to succeed, but what I think it'll be great for and largely used for will probably be smaller scripts and data science computations and especially as an educational tool, but using it as something more than that, like to replace the industry standard solutions in an actual large project doesn't feel like it'd catch on nearly as much as just using the standard in the current tech landscape and most likely for years to come. Edit: Yes, this has promise for doing the things industry standard solutions can do and yes it abstracts a lot away which especially helps with things like race conditions (the industry standard solutions I listed also help significantly with that), but what I'm saying is that even then, most of the tasks are ones that are better off done with those industry standard solutions. Also, as for rj7259a's comment I doubt using a GPU for compilation say, for languages like C/C++ is a good idea at least in most cases.
@khlorghaal4 ай бұрын
interaction combinators are extremely promising, its attainable in the near term
@rj7250a4 ай бұрын
You write serial code and it runs in parallel. That is the greatest invention in programming since subroutines. If you are not a average JS developer, you know how complicated it is to write parallel code, you will always need to deal with a deadlock or race condition, and they are non reproducible bugs, the worst kind of bug. (Heisenbug) There is software that could run on a GPU, but would be pratically impossible to be coded by humans, like a compiler.
@SimonBuchanNz4 ай бұрын
@@rj7250ayou don't get that sort of bug in (safe) Rust. Deadlocks can happen, sure, but they're probably the easiest bug to diagnose, they're their own breakpoint. And what do you mean humans can't program GPUs? We've been doing that for decades? It's a little fiddly to shuffle data in and out, but honestly it's just not that bad.
@RandomGamingDev4 ай бұрын
@@rj7250a Yes, I understand that writing parallel code is difficult, but not only are most applications fine with a single thread, but those that truly need the extra threads are oftentimes better off with the more industry standard solutions I previously listed. They already have the developers with the skills needed to utilize those libraries as well.
@DevKumar-ci7eu4 ай бұрын
1:21 wtf is that picture is that a devil . Chat is this real ?
@panda-_-dreamer2.0304 ай бұрын
Do not fuck around with the daemon, it will haunt your CPU forever looking for processes to keep alive
@bazookaman13534 ай бұрын
That's a 100% real photo, his name is Michael and he's a gentle giant.
@ivyZorz4 ай бұрын
Finally, I can calculate the 100th number in the Fibonacci sequence in less than a week
@Toleich4 ай бұрын
My first reaction was: "Who even asked for this?!" then you mentioned that it's based on Rust. It's just the safety cultists trying to make themselves relevant. Bend is safe to ignore.
@thisisjaymehta4 ай бұрын
0:15 You mean 1 Day with 7 Computers?
@allliver1234 ай бұрын
interpreter written in rust is crazy
@michaelrfalkowski24464 ай бұрын
1.5 seconds, that’s amazing! I’ve been stuck on 69 + 420 for years
@mho...3 ай бұрын
who knew, all you needed was to get Bend
@bestintentions60893 ай бұрын
Data partitioning is the hard thing about parrel programming. If blocks have a morass of dependencies between each other then you get mostly sequential execution
@soonts4 ай бұрын
Too good to be true I’m afraid, at least so far. Running things in parallel is trivial on both CPU and GPU. The hard parts are efficient memory access, thread synchronization, parallel reduction, these kinds of things. Doubt that compiler is smart enough to transform naïve matrix multiplication into GPU tiled matrix multiplication with manually managed groupshared memory for the tiles (efficient memory access), or counting of matching bytes into vpcmpeqb / vpsadbw AVX2 on CPU (efficient parallel reduction). AFAIK, computers are not yet smart enough for things like that.
@jackbarham4 ай бұрын
This is it! Time to recode my portfolio that I haven't finished yet.
@dest21153 ай бұрын
Thank you for the video. I'm a graduate stundent doing a math project with the man himself, Yves Lafont, as supervising teacher. This helped me add an interesting touch to said work.
@hanslofgren87033 ай бұрын
Your content is so dense with "return true" big brain knowledge that it's easy to be mislead that you are not a comedian first, a programmer second, and a "creator" third. I take all of my "devops engineer" hats off to you, and that's a lot of hats. Thank you for all the laughs, truly.
@afmikasenpai4 ай бұрын
This is exactly why functionnal programming should be explored more.
@edwarddejong80254 ай бұрын
There is another language called Parasail, written by one of the maintainers of Ada, and it also automatically parallelizes code, but it is more conventional, and allows loops in the language. For those interested in Parallel computing, well worth the effort as it is very polished at this point.
@travelchoice894 ай бұрын
Wow, this new programming language for GPUs is a game-changer! 🚀🖥 Can't wait to see what amazing things developers will create with it. 🔥✨
@qtDiabolik3 ай бұрын
recursivebros we're so back
@RepChris4 ай бұрын
0:15 Reminds me of the german saying "a cold lasts a week without medicine and 7 days without"
@braydenmcwaters83813 ай бұрын
I work in construction, I don't know why I'm here but thank you. I can tell you one thing, a fold and a bend are very similar
@himbary4 ай бұрын
Time to rewrite the Rust Webserver in Bend for my 10 user startup
@Gameplayer550554 ай бұрын
It's funny how recursion is a big no-no almost everywhere because it screws up stack and for loop is better But here it's necessary. Like some functional language
@minutenreis3 ай бұрын
most functional languages require compilers to optimize tail recursion into iteration (its also optimized in c/c++ with gcc -O2 for example)
@Gameplayer550553 ай бұрын
@@minutenreis right, but everyone is still afraid of stack overflow and using loops just in case And not all programming languages may have optimization, especially interpreted ones & dynamic types
@HarshChavan22114 ай бұрын
Bro flexed hard and thought we wouldn't notice💀
@NourArt023 ай бұрын
"It allows a programmer to take a problem that could be solved in a week and instead solve in 7 days using 7 computers" ... LOL this is literally how i felt writing my first multi-thread program
@Quieneseste3 ай бұрын
This is the channel I always watch to feel an intellectual boost while knowing that I don’t understand a thing anyways. Thanks man
@EdinoRemerido3 ай бұрын
Watet, earth, air, code A long time ago all these elements lived to gether in harmony
@Mark734 ай бұрын
Utilizing every processor on your GPU to run Hello World in 1.5 seconds. We are truly living in the future
@AnindoSarker4 ай бұрын
When I started watching fireship in 2022, I didn't understand 90% of the videos. Gradually I was able to understand around 60%. This mind bending video just pushed my understanding back to 10%
@stefa1684 ай бұрын
Does this also support multiple computers? In our CS department we use a lot MPI, which allows for massive parallelism, and bend would be pretty great as a higher level substitute...
@ab3llini4 ай бұрын
Great video ! Just bear in mind that no matter the underlying framworks, not all algos are parallelizable :)
@krepes86854 ай бұрын
Never thought my Haskell knowledge would randomly come in handy understanding a KZbin video...
@adlordt52023 ай бұрын
Each time someone claims C++ is a difficult language people nod their heads-because it just “sounds” right, almost like something they’ve been told their whole life. When THAT person tells THEIR friends that C++ is supposed to be pretty difficult, their friends all nod and say they have heard the same. On and on it goes… If you program in Python you CAN learn C++ ! If you don’t program at all you CAN learn C++ ! My first language was normal old C, then I learned English, then I learned C++ ! (There was an attempt at humor in there-sorry, humor is not my forte). Clearly this video isn’t about C++ -it’s about that classic image where Floyd Mayweather put a bunch of fat stacks on a table, before heading to Best Buy to stock up on GPU’s! All stupid jokes and off-topic comments aside-very interesting video! This quite a compelling path for the art of programming!
@Lord_Omni3 ай бұрын
C++ is not hard, it requires much more from you including memory management (no garbage collector). Why bother, if you just can call those sweet and fast functions from Python o) I am .Net developer and even I was able to create memory leaks 3 times (every time me or some library caching too much). Thankfully VS Pro I am using can show you everything you have in memory in branches of tree, that represents how everything was called. I have doubts about C++ in the same situation o)
@bautistavazquez62954 ай бұрын
I’m an auto tech but a big computer nerd I love this shit even though I don’t understand half of it
@ThomasConover4 ай бұрын
As a exotic language software engineer this language/compiler looks absolutely beautiful ❤❤❤❤
@tejonBiker4 ай бұрын
Pretty crazy that you can run in cpu and GPU without mod the code, I really liked.
@meustrus70564 ай бұрын
Hrm. This bend thing is a neat concept. I feel like the syntax is too indirect though. I can think of a couple of ways to implement it as simply a generic function that takes a starting value and a function that takes the current value and a function to recurse. It's really cool as a built in language feature though as I'm sure it was much easier to implement.
@binarycat12374 ай бұрын
note that this seems to ONLY give you parallelism, not concurrency. parallelism only really speeds up certain kinds of code, and only on devices with cores to spare. concurrency will speed up basically anything that reads a lot of files
@el_arte4 ай бұрын
So few things can be paralleled in real life applications. That is, computation n + 1 depends on the result of computation n. And that is the best case scenario.
@silvertongue30034 ай бұрын
We going to be so much more efficient doing things in just 7 days that would normally have taken a whole week, brilliant
@randomSaltyUser3 ай бұрын
Seeing this implemented into a game engine would be next level.
@nocturne63204 ай бұрын
- Untyped, if you try to do an undefined operation you won't get a compilation error - Cannot automatically convert between numeric types, docs even warn you to not add together a float and an integer, or even an int and a uint (what???) - No Windows support yet - Annoying Python-like syntax - Can you even compile it into a DLL library to be used in a larger project? Impressive, but only a meme so far