I was looking for what LLVM is, and this is just the video. I only watched this single video and got a basic understanding of what LLVM could be. Great video.
This was really good, your presentation and energy were perfect from start to finish. Not often you get a video on something as esoteric as compiler's that's equally interesting to watch.
I am impressed not just because of your success also because of your kindheart, that is always busy to do good to other thanks a lot for being such a Great inspiration✨
A REALLY great vid, fluent, brilliant, educating! One question though: 20:19 - if we already have the answer (120), why does llvm need all those lines of code? Why not just print 120 and be done with it?
Hi Gil - thank you, I'm glad the video was helpful! It's because technically, while the function call to factorial was inlined and then constant folded to a predetermined result, the factorial function still needs to exist. With the specific kind of function we created and compile flags we passed, it's not allowed to just be removed. For example, what if this was being compiled down to an object file and other object files were later compiled alongside this one, those referring to an external "factorial" function that should have been in this object file?
Sucha a great video to give a clear understanding of LLVM! Thank you so much! :D It will be amazing if you can recommend a book to start learning LLVM!
Just to save cpu cycles,LLVM used but intermediate also consumes power as it is on the architect on which it is doing all these transformations. Recent research papers showed that the top 3 least energy consumption programming languages are C,C++ and Java. They use monolithic compiler. The Swift Programming language also uses the higher amount of energy. We cannot deny the GCC compiler.
Hi Vicky - in the majority of use cases, the majority of the time spent by an application is in runtime (as this is done many times and can be compute-intensive), not compile time (which only happens once), and therefore doing extra work during compile time is very much "worth it" if you can save time during runtime. The most efficient programming languages by power usage are, in order, C, Rust, C++, Ada, Java, and so on. Note how Java ranks below the AOT compiled languages. This is because, inherently, less work needs to be done at runtime for applications built in these languages. It is fundamentally easier to build optimization and other analysis passes for compilers using the LLVM tooling, and while there are some pros to GCC because it's been around for so long, LLVM is starting to replicate and mostly surpass what it's capable of. Paper on the efficiency of programming languages: haslab.github.io/SAFER/scp21.pdf
I had only seen you on TV. Came across this video searching for compiler optimization. Great video but again with other LLVM tutorials, it doesn't show the scope that LLVM is freaking huge. Please do more video on IR optimizations as well. :)
Hi! Thanks for watching - hope it was helpful! Yes, LLVM is absolutely huge. I've uploaded a tutorial on IR passes recently, with more tutorials to come: th-cam.com/video/4_rP24D8mNg/w-d-xo.html
Is LLVM kinda analogous to database ORM like sqlAlchemy in terms of similar intermediary processing for different types of Relational db that it supports🤔 ?
Nope, .... LLVM tooling chain affectively gives u a target Intermediate Representation code that u transpile onto. In short with for any language u no more generate a assembly u generate code that's compliant LLVM and that now can be compiled or executed by LLVM runtimes and toolchains.
Hi - I already have a video on recursion: th-cam.com/video/QYNP7U7Azd0/w-d-xo.html but I can definitely make a video specifically tailored to data structures. Be on the lookout for that soon!
Hi Suporto - Thanks for the question! Inline functions are good, but they're a micro optimization. This means that when you don't need them, it's generally better to not use them. They can increase your final code size, and if the function itself is the bottleneck (not the latency introduced by the number of times you need to call it), then it's more effective to optimize the working of the function itself.
Dear IBM Team, Please let me know how to download the custom model from knowledge studio. FYI- I have created custom model in IBM Knowledge studio and deployed.
Hi - unfortunately downloading models from knowledge studio is not possible and you must deploy your custom models with an IBM Watson service like NLU.
Hello tanmay I need your help ....I want to know more about the cognitive story and I want to learn from it the thing is i dont know from where i can learn about the head set and everything else i want to know and you said that everything is on the Google i cant find it out please help me bro i thing i can help you
It's a matter of personal preference. In my opinion, assembly can be more confusing because it's more hardware specific. However, LLVM does have its own quirks and complexities that come with being more high level that you may find more intimidating. This includes the fact that its documentation isn't particularly accessible.
I am always surprised presenters require us to patiently wait while they take some time to write more or less legibly when one can merely snap one's fingers and Voila Bingo Presto perfectly legible text can magically appear in any font/color/size one wishes the result of post-processing
The code is suppose to USABLE WAN, B the exception throwing is eliminated by the compiler for speed up. So how is writing a compiler for VLIW Processor GOD DAMN EASIEST pie made by Nicole Kidman.
HELLO TANMAY, I'm from INDIA 🇮🇳 and we are very very curious about AI. But language problem is main barrier to absorb your full Knowledge so, we all INDIAN lovers of TECHNOLOGY are requesting to add HINDI language SUBTITLES.. please 🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏
Generally when writing code this way, you’d use x as an iterator variable, in which case the last iteration of the loop would be when it is set to 9. Of course, this iteration would also bring it to 10, but that isn’t a value I usually use after the loop. Sorry for the confusion on this bit of logic, hopefully you found the rest of the video helpful!
I like this kid smartness and brain too but i really have to tell i am also an programmer and recently working in google for over a 7k dollars and i have allergies with Indians I am from BANGLADesh
this is just unwatchable, just look at that fucking tshirt with apple logo. you must be kidding me. i bet its 10x overpriced just because of logo, just like other apple crap.
This is the -O3 video on how LLVM works. So good
-O2. O3 is too unstable, haha.
This might be one of the most excellent and passionate examples of education I've ever seen on the platform. Simply amazing stuff
I was looking for what LLVM is, and this is just the video. I only watched this single video and got a basic understanding of what LLVM could be. Great video.
Oh just to say here before 3 years i saw you were like a child today i found you a adult 🤗 keep working hard
What an amazing piece of instruction, so well thought out and executed. Very clear and enjoyable, a definite 11 out of 10.
This was really good, your presentation and energy were perfect from start to finish. Not often you get a video on something as esoteric as compiler's that's equally interesting to watch.
The passion, I love it! Simplifies deep convoluted concepts to sound very interesting!!
Best llvm explanation I've seen yet!
Wow, I got so much insights on LLVM and Clang in less than an hour. Thanks !
Best video on the topic. I learn so much more today 😀
I am impressed not just because of your success also because of your kindheart, that is always busy to do good to other thanks a lot for being such a Great inspiration✨
Wonder full boy. I am big fan of you, And your ways of depicting things and way of speaking. Keep it up
love the way you teach!!!
A REALLY great vid, fluent, brilliant, educating!
One question though: 20:19 - if we already have the answer (120), why does llvm need all those lines of code? Why not just print 120 and be done with it?
Hi Gil - thank you, I'm glad the video was helpful! It's because technically, while the function call to factorial was inlined and then constant folded to a predetermined result, the factorial function still needs to exist. With the specific kind of function we created and compile flags we passed, it's not allowed to just be removed. For example, what if this was being compiled down to an object file and other object files were later compiled alongside this one, those referring to an external "factorial" function that should have been in this object file?
x is equal to 10 for the "constant folding" example
Yeah, it would so another iteration when it's 9 setting it to 10
20:00 would the optimization be different if the input value wasn't known at compile time?
Sucha a great video to give a clear understanding of LLVM! Thank you so much! :D It will be amazing if you can recommend a book to start learning LLVM!
Bro, please turn on the tip feature. I feel so much pain because I can't appreciate this video by paying you. This is such good content!!
Really great interpretation and good handwriting
Actually, a good quality video, you are doing a great job!
This guy is the best (this is the first time I watch his video though).
Just to save cpu cycles,LLVM used but intermediate also consumes power as it is on the architect on which it is doing all these transformations. Recent research papers showed that the top 3 least energy consumption programming languages are C,C++ and Java. They use monolithic compiler. The Swift Programming language also uses the higher amount of energy. We cannot deny the GCC compiler.
Hi Vicky - in the majority of use cases, the majority of the time spent by an application is in runtime (as this is done many times and can be compute-intensive), not compile time (which only happens once), and therefore doing extra work during compile time is very much "worth it" if you can save time during runtime.
The most efficient programming languages by power usage are, in order, C, Rust, C++, Ada, Java, and so on. Note how Java ranks below the AOT compiled languages. This is because, inherently, less work needs to be done at runtime for applications built in these languages. It is fundamentally easier to build optimization and other analysis passes for compilers using the LLVM tooling, and while there are some pros to GCC because it's been around for so long, LLVM is starting to replicate and mostly surpass what it's capable of.
Paper on the efficiency of programming languages: haslab.github.io/SAFER/scp21.pdf
I had only seen you on TV. Came across this video searching for compiler optimization. Great video but again with other LLVM tutorials, it doesn't show the scope that LLVM is freaking huge. Please do more video on IR optimizations as well. :)
Also, I am suspecting that you are probably working on a language. I would love to contribute as am working on DSL to help childrens learn.
Hi! Thanks for watching - hope it was helpful! Yes, LLVM is absolutely huge. I've uploaded a tutorial on IR passes recently, with more tutorials to come: th-cam.com/video/4_rP24D8mNg/w-d-xo.html
At 3:30 x will be 10 not 9...
it's 9. it's < not
@@drewlarson65 try putting this in an online cpp compiler :)
int x=5;
while(x
@@drewlarson65 If it was 9 you would still be in the loop cuz 9
@no-lagteardown3558 no, the loop stops because 9
@@drewlarson65 If u think that then youve never written any code in your entire life. If u dont believe me just put the code in an online IDE.
You said that you can extent it into anylength but if I put it into infinity, will it not get error or some sort of problems related to it oversize?
Awesome explanation. Thank you bud :)
12:03 Can anyone please link to the video where he teaches about how to develop our own transformation and optimization passes ? I cannot find it.
Hi Soumyajit - I released this video a little while ago: th-cam.com/video/4_rP24D8mNg/w-d-xo.html Hope you find it helpful!
Apple lover... Grown up stuff. You inspire me buddy
great video bro Tanmay. btw you work in an apple?
Is LLVM kinda analogous to database ORM like sqlAlchemy in terms of similar intermediary processing for different types of Relational db that it supports🤔 ?
Nope, .... LLVM tooling chain affectively gives u a target Intermediate Representation code that u transpile onto. In short with for any language u no more generate a assembly u generate code that's compliant LLVM and that now can be compiled or executed by LLVM runtimes and toolchains.
This is how tutorials should be.
An excellent video, why 360p?
Dude. Wow. Can you please explain recursion on data structures (trees and graphs)?
Hi - I already have a video on recursion: th-cam.com/video/QYNP7U7Azd0/w-d-xo.html but I can definitely make a video specifically tailored to data structures. Be on the lookout for that soon!
Just want to thank you SOOOOOO MUCH
😌✨😌✨😌✨😌✨😌
I'll go 12 out of 10!
⚡⭐⚡
This is the meaning of passion
Well, I gotta learn a bit deep into compilers when it comes to my CS study in grade 11. Thanks for the additional info!!
Whether inline functions are so good why we don't put this keyword in all of them? (C Language)
Hi Suporto - Thanks for the question! Inline functions are good, but they're a micro optimization. This means that when you don't need them, it's generally better to not use them. They can increase your final code size, and if the function itself is the bottleneck (not the latency introduced by the number of times you need to call it), then it's more effective to optimize the working of the function itself.
Link to playlist to this series ?
Dear IBM Team, Please let me know how to download the custom model from knowledge studio. FYI- I have created custom model in IBM Knowledge studio and deployed.
Hi - unfortunately downloading models from knowledge studio is not possible and you must deploy your custom models with an IBM Watson service like NLU.
Great video tanmy!
such an amazing video. thank you !
Hello tanmay I need your help ....I want to know more about the cognitive story and I want to learn from it the thing is i dont know from where i can learn about the head set and everything else i want to know and you said that everything is on the Google i cant find it out please help me bro i thing i can help you
This guy is what I think of when they say: Apple Genius 😂
Wouldn't 'x' be equal to 10.
yes IITgrad-- Its x=10.
@@VinothKumar-zl2ht how did you know I'm an IIT graduate😲😲😲
this is why I am studying TOC in my MCA, to know who compilers works actually.
How you manage time time 🕒🕒?
Nees some help regarding some complex projects..but how can i contact you?
Hi, feel free to contact me at TechLifeSkillsTanmay@gmail.com
Thank you very much tanmay sir
Good Morning Bro..We were waiting for ur videos.. How's going?
thanks for the clear explanation!
@26:26 Hey, down in front! You're head's in the way!
Please more videos about LLVM Compiler Infrastructure dear sir!
Hi! I've uploaded a tutorial on IR passes recently, with more tutorials to come: th-cam.com/video/4_rP24D8mNg/w-d-xo.html
Have you learned any Rust?
I just see girls learning this, sit super ultra quiet, and it completely processes. And then I see males playing pencil-poppers and Surfing by way.
Any plans Tanmay to talk on mlir stuff??
Anyways cool talk
Absolutely! It's a tool I'm learning about myself, and I do plan on making tutorials around it very soon.
@@tanmayteaches if they are done could oyu share link?
Thanks
Love this hard work
Why is that to me
Llvm or IR
Is very much intimidating
Compared to assembly language?
It's a matter of personal preference. In my opinion, assembly can be more confusing because it's more hardware specific. However, LLVM does have its own quirks and complexities that come with being more high level that you may find more intimidating. This includes the fact that its documentation isn't particularly accessible.
amazing introduction!
You are brilliant 👏
compiler development was always a taboo topic for me XD until I saw this (Y)
I am always surprised presenters require us to patiently wait while they take some time to write more or less legibly when one can merely snap one's fingers and Voila Bingo Presto perfectly legible text can magically appear in any font/color/size one wishes the result of post-processing
The code is suppose to USABLE WAN, B the exception throwing is eliminated by the compiler for speed up. So how is writing a compiler for VLIW Processor GOD DAMN EASIEST pie made by Nicole Kidman.
13 minutes in, good so far, but wished you spoke more about Clang as it was in the title and feel like it was not described enough.
Good stuff! Thanks! :)
Wow ur voice changed alot
Thank you you're great!
Are you bengali?
Brilliant presentation
If you enjoy making videos, then, please, continue;
You've frown buddy....all the best in the journey onwards.. (international star spelled title holder- MaRRS INTERNATIONAL SPELLING BEE)
Thanks a lot. Wonderful!
Such a great video
Learnt about a new stuff, thank you.
Jesus dude, your voice got deeeeeeeeeeeeeeeeeeeeeeeeep!
Content ❤️
HELLO TANMAY, I'm from INDIA 🇮🇳 and we are very very curious about AI. But language problem is main barrier to absorb your full Knowledge so, we all INDIAN lovers of TECHNOLOGY are requesting to add HINDI language SUBTITLES.. please 🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏
Hi Vikash - thank you for your comment! TH-cam supports auto translating captions - please let me know if this is helpful. Thanks!
@@tanmayteaches thanks Tanmay...but do u think that you replied me very soon? 😀
Great video! But I must say as I couldn't hold it in, you mispronounced your name ;)
asw lecture : love from india
✔️
Excellent ,thanks
awesome!!
✌✌✌✌✌✌✌✌
Got my sub
awesome!!!
Bruh… x is 10 not 9…
How did you get this one wrong when you know the rest?
Generally when writing code this way, you’d use x as an iterator variable, in which case the last iteration of the loop would be when it is set to 9. Of course, this iteration would also bring it to 10, but that isn’t a value I usually use after the loop. Sorry for the confusion on this bit of logic, hopefully you found the rest of the video helpful!
There is some bird shit on your tshirt. Just fyi.. however great video. Thanks
Korbin Pine
Garcia Lisa Williams Shirley Rodriguez Edward
like very much :)
great
Heather Junctions
Perez Shirley Williams Jeffrey Johnson Frank
Future ceo of Google, Apple, Tesla, Amazon or maybe Spacex
I like this kid smartness and brain too but i really have to tell i am also an programmer and recently working in google for over a 7k dollars and i have allergies with Indians I am from BANGLADesh
Anderson Brenda Lee Sandra Jones Laura
this is just unwatchable, just look at that fucking tshirt with apple logo. you must be kidding me. i bet its 10x overpriced just because of logo, just like other apple crap.
you're talking too much
bruh, name and accent doesn't match 😂
Hernandez Karen Young David Rodriguez John