Пікірлер
@Joe-q5b9y
@Joe-q5b9y 5 күн бұрын
Great resource for beginners.
@KTruth-l3e
@KTruth-l3e 6 күн бұрын
amazing !
@dlee992
@dlee992 8 күн бұрын
Excellent Talk!
@MarceloSantosDev
@MarceloSantosDev 9 күн бұрын
Thanks Nikita. Your contribution to open source has always been amazing. Amazing talk!
@Barricade94
@Barricade94 13 күн бұрын
As Bisheng is developed by Huawei, it can be used to code in Huawei devices, like tablets?
@wdj1471
@wdj1471 14 күн бұрын
nice talk!
@nullkothenature-lovingbear2308
@nullkothenature-lovingbear2308 14 күн бұрын
This is a nice one, very informative!
@the_programming
@the_programming 15 күн бұрын
how can i get dependency graph
@vfjpl1
@vfjpl1 15 күн бұрын
<3
@jackgame8841
@jackgame8841 25 күн бұрын
congrats nikita
@mobu-o1g
@mobu-o1g 29 күн бұрын
Great presenters! Thanks Siddharth and Jeff 😄
@XichengLiu-j5u
@XichengLiu-j5u Ай бұрын
I happen to implement a gpu compiler in my work, this video helps a lot
@mydeveloperday9069
@mydeveloperday9069 Ай бұрын
Aaron this is a great presentation!
@seylaw
@seylaw Ай бұрын
A lot of Clang-related patches landed recently on glibc-git.
@spaceowl5957
@spaceowl5957 Ай бұрын
It would be really awesome to have the same debugging and IDE support for C macros that we have for Swift macros! I think bad tooling support is the main reason why C macros often feel "evil'. I really hope someone from the community steps up as he mentioned, but I wonder - are there no resources for the core clang/LLDB/LLVM maintainers to tackle this?
@Xiuqi_liu
@Xiuqi_liu Ай бұрын
Amazing talk!
@mr_tpk
@mr_tpk Ай бұрын
Great talk, Where can I find link to the course? Thanks.
@martin777xyz
@martin777xyz Ай бұрын
Mid 90s I wrote a compiler PL9 language (and used cross-linker) to target Motorola 6809, from pc. Surprised how things are similar today 😅
@yugr
@yugr Ай бұрын
One of the most important advantages of classic Asan is that it does not require users to sanitize libraries which your application depends on. MemorySanitizer, being otherwise super-useful, lacks this and it hinders its adoption in industry. Given that this proposal changes the ABI, I would assume it requires to recompile all program dependencies (Glibc, STL, other libs, syscalls)?
@jdoerfert
@jdoerfert 25 күн бұрын
Thanks for your comment! Let me clarify a little: > Given that this proposal changes the ABI It explicitly does not. For 64 bit pointers, the fake pointers are 64 bit (pointers), passing them around is no ABI change. For 32 bit pointers, it will use 64 bit pointers *only* if it can rewrite everything, e.g., the pointers are never stored as 32 bit pointers into memory. This is the case 99% of the time because it is actually "hard" to store a 32 bit pointer on a 64 bit machine. As an example, if you store a pointer to `__shared__` memory, you usually do it as `void*`, `char*`, etc., which is 64 bit. You would need to declare the pointer as `__shared__` (or similar) to make the storage of the pointer 32 bit. In the unlikely case the 32 bit pointer is stored or passed to a function we can't rewrite, we will "unpack" it at the point where we can't keep it in 64 bit (see below). > One of the most important advantages of classic Asan is that it does not require users to sanitize libraries which your application depends on. We are not requiring to sanitize the world. You will, however, not get any checking in the parts of your code that is not instrumented. If you pass a sanitized/fake pointer to an outside function, e.g., pass it to a library, we will unpack it at the call site. Unpacking transforms the fake pointer into the respective real pointer. The library will then work as usual as it receives a non-sanitized pointer. All that said, the prototype presented above was aimed at GPUs, which generally have fewer outside dependencies (for performance reasons). Our current work on making it better on CPUs will allow users to specify what libraries/APIs have been sanitized to allow fake pointers to cross between translation units (and libraries), consequently getting sanitizing throughout. > I would assume it requires to recompile all program dependencies ... Again, only if you want to check the accesses in them.
@yugr
@yugr 25 күн бұрын
@@jdoerfert Thank you, Johannes, for detailed explanation. Will you also support situations when sanitized code accesses raw pointer (to stack, global or heap) returned by unsanitized library function?
@jdoerfert
@jdoerfert 25 күн бұрын
@@yugr Yes, already, and by design. The runtime check detects if a pointer is real and simply passed it through. No check, and followed by the raw access. Basically, if a pointer ever leaves the sanitized space, or was never in it as the allocation was not sanitized, it can be used with minimal penalty. Technically, we could even go back to a sanitized pointer, assuming the allocation was sanitized, but that's potentially expensive and not done yet.
@AsherMancinelli
@AsherMancinelli Ай бұрын
Great talk!
@arsenbabaev1022
@arsenbabaev1022 Ай бұрын
2:10 Why is there a need to "optimize" bad or redundant user code like that? If user cannot write a proper usage of the dynamic array its not the compiler's or language job to fix that problem.Those kind of examples in my opinion are better fit for a linter, for example clippy in rust does those kinds of checks related to bad usage of std library, and user may choose to follow the suggestion.
Ай бұрын
Code like that can appear after several passes of inlining and optimizations, in which case it's not really possible for the programmer to spot "obviously bad" code like this.
@DantalionNl
@DantalionNl Ай бұрын
OpenCL does support recursion its just part of an optional feature that funnily enough is then typically only available on high end hardware.
@mytech6779
@mytech6779 Ай бұрын
nVidia and later AMD have not had consistent hardware and driver support. Only v1.2 is broadly supported by a wide range of hardware and driver combinations. To the point that v3.0 had to be revised to make everything beyond v1.2 optional features. (Companies all dream of maneuvering for an exclusive alternative, nvidia was supressing CUDA alternatives then AMD thought they could somehow ride ROCm to CUDA popularity while having none of the advantages.) It seems that SyCL is the real successor (Newest versions are no longer an extension of openCL.), and well supported by at least oneAPI and adaptiveCPP.
@Heater-v1.0.0
@Heater-v1.0.0 Ай бұрын
Oh crap. "constsxpr", "null_ptr"... is C going to adopt all this ugliness that C++ keeps adding to itself?
@Navhkrin
@Navhkrin Ай бұрын
0:49 I just can't 😂😂😂
@krishnadamkondwar4293
@krishnadamkondwar4293 Ай бұрын
🎉🎉
@OriginRow
@OriginRow Ай бұрын
This is huge for Unreal Engine. Lots of compilation sucks on UE
@xealit
@xealit Ай бұрын
SYCL?
@didyoustealmyfood8729
@didyoustealmyfood8729 Ай бұрын
That neck tho😮😮
@anpawo13
@anpawo13 Ай бұрын
I hope you will do great things with what you have in mind !
@AsherMancinelli
@AsherMancinelli Ай бұрын
I’m surprised they fully serialize to bitcode instead of keeping the ir in memory :/ 18:43
@weiweichen689
@weiweichen689 Ай бұрын
Bitcode is still in memory, the goal is to move the IR into different LLVMContext
@MelCranmer
@MelCranmer Ай бұрын
Great talk, I almost understood it.
@nejatcan2
@nejatcan2 Ай бұрын
I learned a lot from this video
@barrdetwix1894
@barrdetwix1894 Ай бұрын
I have the highest level of admiration for Nikita Popov, awe-inspiring work all around. I'm awe-inspired =)
@PerriPaprikash
@PerriPaprikash Ай бұрын
Why is Andy embarrassed about his company affiliation?
@equeim
@equeim Ай бұрын
He doesn't work for Yahoo, he just uses it for its email service. So he just wanted to clear up a potential confusion.
@PerriPaprikash
@PerriPaprikash Ай бұрын
Richard Smith seems to know his stuff.
@ИванГаргулья
@ИванГаргулья Ай бұрын
Great talk. Thank you
@Voy2378
@Voy2378 Ай бұрын
interesting how Carbon template syntax managed to be uglier than C++, which was not winning any beauty contests to begin with
@jakobhellermann6974
@jakobhellermann6974 Ай бұрын
Just because of the `!`? Or which part do you find particularly ugly?
@Voy2378
@Voy2378 Ай бұрын
​@@jakobhellermann6974 I would not call it just but that is main part. Other is if using English words helps or hurts in the long run. Sure it makes it easier to learn, but do you want that in your code forever? And if they use words then why not use impl like rust, they had to use impls?
@meryplays8952
@meryplays8952 Ай бұрын
I would like to able to use clang on windows without VS or mingw64 (though I'm mostly fine with mingw64).
@stomah9832
@stomah9832 Ай бұрын
0x800 + 0x400 = 0xC00 ≠ 0x1200
@danielthornburgh2085
@danielthornburgh2085 Ай бұрын
Speaker here. Yep, I should have known better than to cavalierly put 0x in front of my example numbers.
@BalajiMaddur
@BalajiMaddur 10 күн бұрын
😅​@@danielthornburgh2085
@paradox8425
@paradox8425 Ай бұрын
Great talk. I'd like to see "import std;" working out of box ASAP
@ameliafargnoli9541
@ameliafargnoli9541 Ай бұрын
Amazing talk!!
@mahabat23
@mahabat23 Ай бұрын
thanks, Nikita would love to see more of your work
@ngideo
@ngideo Ай бұрын
12:06 "... so the two hardest problems in Computer Science were 'naming' and 'cache invalidation', and now it's just 'naming'" goes so hard
@g1m0kolis
@g1m0kolis 2 ай бұрын
Awesome, this is such a great concept! And really glad to see this incorporated into Mojo. As well as getting a public presentation on the topic. Well done!
@TomBPdev
@TomBPdev 2 ай бұрын
Very interesting ! Thanks for that !
@manmohanshukla1115
@manmohanshukla1115 2 ай бұрын
Amazing talk, Aaron <3
@Xiuqi_liu
@Xiuqi_liu 2 ай бұрын
Great talk, thanks a lot!
@vermaaaditya
@vermaaaditya 2 ай бұрын
what's the audience comment at 6:03 -09
@JoeST
@JoeST 2 күн бұрын
something robotic? that says "... can't understand your query, as it apears to be a series of disjointed phrases-[laughter]"
@VRMediaI
@VRMediaI 2 ай бұрын
Very interesting, next steps Neuro Symbolic AI...
@mawkuri5496
@mawkuri5496 2 ай бұрын
why cant this be used in cpython to make it more faster just like mojo