David Robertson took a quantization challenge designed for CUDA experts, and solved it in Mojo with AI assistance, and ended up 1.07x to 1.84x faster than the state-of-the-art C++/CUDA implementation.
HN user
timmyd
Co-Founder @ Modular
Co-founder here. There isn't any signup - that was 2+ years ago and we've been iterating a lot with the community and listening to feedback - which has been wonderful. Go freely and install with Pip, UV, Pixi etc -> https://docs.modular.com/mojo/manual/install
You might also enjoy this series: https://www.modular.com/democratizing-ai-compute which goes into a lot of the details.
thanks jsnell - i did they and they appreciated the comment above, and unflagged it. i appreciate it!
FWIW I didnt take the blog as a dunk on CUDA, just as an impressive outcome from the blog writer in Mojo. It's awesome to see this on Hopper - if it makes it go faster thats awesome.
[op here] To be clear: Yes, there are 3 kernels - you can see those in the linked github at the end of the article if you clicked that. These are:
transpose_naive - Basic implementation with TMA transfers
transpose_swizzle - Adds swizzling optimization for better memory access patterns
transpose_swizzle_batched - Adds thread coarsening (batch processing) on top of swizzling
Performance comparison with CUDA: The Mojo implementations achieve bandwidths of:
transpose_naive: 1056.08 GB/s (32.0025% of max)
transpose_swizzle: 1437.55 GB/s (43.5622% of max)
transpose_swizzle_batched: 2775.49 GB/s (84.1056% of max)
via the GitHub - simveit/efficient_transpose_mojo
Comparing to the CUDA implementations mentioned in the article:
Naive kernel: Mojo achieves 1056.08 GB/s vs CUDA's 875.46 GB/s
Swizzle kernel: Mojo achieves 1437.55 GB/s vs CUDA's 1251.76 GB/s
Batched swizzle kernel: Mojo achieves 2775.49 GB/s vs CUDA's 2771.35 GB/s
So there is highly efficient matrix transpose in Mojo
All three Mojo kernels outperform their CUDA counterparts, with the naive and swizzle kernels showing significant improvements (20.6% and 14.8% faster respectively), while the final optimized kernel achieves essentially identical performance (slightly better by 4.14 GB/s).
The "flag" here seemed innapropriate given that its true this implementation is indeed faster, and certainly the final iteration could be improved on further. It wasn't wrong to say 14% or even 20%.
Updated the title to the original. I did base the numbers on
"This kernel archives 1437.55 GB/s compared to the 1251.76 GB/s we get in CUDA" (14.8%) which is still impressive
I do find it amusing that all comments are focused on the US. There are hundreds of countries around the world were TV stations are black boxes and presidential / prime ministerial hopefuls have no platform to express themselves. Having access to a platform that can promote and answer content as users are searching for answers on them (at least how it reads on face value) seems incredibly important. I do however agree that transparency around who gets access to the platform is critical for user trust.
Well consider the number of 3rd party services that would shut or require a significant amount of development to get back online as a result of google shutting down:
https://developers.google.com/apis-explorer/
There's a lot of services that depend on Google and changing all that code overnight is unlikely. Apple doesn't have that kind of 3rd party reach.
appreciate any feedback, insight etc you guys can give us! we're working hard to spread this across the bay area
Hi guys,
Thanks for listening to the feedback last time.
I'm around the SF area and if I use this how long will it take to get my new device as I don't want to be stuck without a phone?
I'm terribly sorry. But your continued use of "pyramid scheme" is just wrong.
1) "they expect users to hold an ever-increasing amount of their currency in their accounts and not spend it immediately."
> Where does it say that ? Unfortunately no where. And who wants to hold their currency ? Use case: I want a new phone. I accept the offer from swapidy for X currency and then buy a new iphone at X currency. At what point do I want to hold my currency ? No, I want a new phone and if their pricing makes sense I transact. Thats it.
2) "too many users tried to spend their currency all at once they would go out of business and you would lose your money;"
> At what point would you loose your money ? The currency is valid and you can purchase an item. They send you that item. I am assuming your inference is that they do not stock any of the items they sell and I am unclear where you draw that inference from ? Please let me know if you have some sort of information that I do not other than what is illustrated on the site. If you transact and sell your phone, you send it to them and I assume they will subsequently sell that. You purchase a new phone and they send you that new phone. There is obviously the requirement for inventory and stock and so on. Thats a business and cost inventory issue, nothing else. If the company fails, you become a creditor - like when any company fails. It's a trust issue and up to them to ensure that its trust worthy.
3) "it's a pyramid scheme."
> No, its not. Refer above and please refer to Wikipedia or other sources to learn about pyramid schemes.
4) " They give you $440 instead of $400 for your iPhone, but then a new product that would cost $400 on Amazon costs $440 in their currency. It's not a real discount. "
> Amazon is not a fluctuating pricing market like ebay or other such services. You will receive a standardized cost on Amazon for a extended period of time whereas this site infers you will receive the current daily market rate or close enough. This is the difference and therefore ultimately the difference in the pricing mechanism. If you want cash, transact at some other market and see if the pricing differential is more advantageous than what they offer. Some items will be cheaper and some will not be - don't tell me they actually want to run a site that makes money ? The use of virtual currency is to lock a user into their service and there is nothing wrong with that if you want to accept their buy offer which is more than you would receive elsewhere. No one is forcing your hand to transact.
5) "They take less as profit than Amazon"
> How do you know what profit they take ? Feel free to let me know.
Have you read the sites context ? It's not a pyramid scheme. Lets recall what a pyramid scheme is expressly defined as
"A pyramid scheme is a non-sustainable business model that involves promising participants payment or services, primarily for enrolling other people into the scheme, rather than supplying any real investment or sale of products or services to the public"
Now lets read what the site does
"We buy your products for Honey. You buy anything using Honey." - all the products you buy using honey are new according to the site. There isn't a second hand market place on this site - so there is not any supply issues here. The supply is the company sending out products based on the current market value of the products interpreted into their model.
You sell your product, they will give you virtual currency in order to lock you into their ecosystem and then you buy a new product based on that honey value. Please explain to me, in lay terms, how that explanation is equal to the definition of pyramid scheme above ?
Frankly speaking, dealing with morons from craigslist is becoming a pain in the ass and if the value is not that different and these guys can give me the convenience, delivery and remove headaches - great. It comes down to their pricing vs. others in the market (gazelle and so on)
It's a super interesting concept because I think more sites are using wordpress as a CMS and the custom skinning for wordpress sites has a spanned a new industry in itself.
As a site note: super +1 for the very last comment, made me laugh.
"i hate it/hate you/hate everything - Noted. Haters gonna hate."
I think is an unrealistic approach.
Most people cram for exams and leave it all to the last minute - that's life. So in juxtaposing such a common example - I will generalize and assume a lot of people do the same for just about anything else. It's not some crazy ideology - it's called being a human being. Factors outside someone's control shouldn't mean they should be punished for something that everyone does everyday or has done at some time. No one is perfect, people make mistakes and entrepreneurs more than anyone - that's the beauty of it. However, this isn't some exam - it's an application to find great people, great ideas and amazing companies.
The suggestion from your comment is that great people hit deadlines "no matter what". I couldn't disagree more. Running a startup is about elasticity - not "no matter what". If someone has spent weeks getting their video just right - after doing 1000x iterations of it because they wanted to reach the submission date by 30th "no matter what" but then some act of god comes along - it's fair that it destroys their chance ?
That makes no sense - they were going to hit the deadline according to your logic but now something has come along and destroyed that. The "no matter what" is now irrelevant - its time to be flexible, compassionate and understanding. Walk a mile in their shoes for just one second.
The world we live in is not some crystallized inflexible place and YC is not either - if your idea fails, start another. I, for one, hope that someone amazing comes along because they were allowed to submit after the fact. That's what entrepreneurship is all about - people.
"More than machinery we need humanity; More than cleverness we need kindness and gentleness. Without these qualities, life will be violent and all will be lost." - Charlie Chaplin (see http://www.youtube.com/watch?v=rEUA7owEl7c for some inspiration)
yeah thats probably not a bad idea - allowing users to flag if their application is late due to storm and just accept it
pg - its better to be compassionate than not be. if moving the date isn't that difficult for you and doesn't adversely affect the operation of YC - it only goes to strength the resolve of the community.
it would be crazy to allow someone to loose out on their dream of even applying because the mother of all storms decided to hit the east coast of America. surely its http://en.wikipedia.org/wiki/Act_of_God exception :)
Lets remember Winston
"A pessimist sees the difficulty in every opportunity; an optimist sees the opportunity in every difficulty."
Only good things can come from opening it longer given what's happened.
Just remember this:
1) Escape doesn't bring up the shutdown menu 2) Windows key doesn't 3) Mouse to the left, top or bottom doesn't 4) Mouse to the start menu doesnt
Only to the right will you find the menu. Why a simple button couldn't have been added defies me.
thanks a heap. if you're after an invite just let us know
thanks mate :) been a lot of work to get here and its only the start!
Yeah but we are a bit different in our approach and the way we are trying to resolve it :)
Yeah I tried to put those slide buttons on the right side to help with that prob but ill try to think how to fix what you mention. Thanks heaps for the feedback
yeah at the moment we are doing a point based system where user gets discounts from retailers. unsure what will work best but its something that we going to play around with until we find what works best
yeah sorry - the server is getting smashed at the moment - have to free up some mem!
but let me know what browser so i can double check ?
thanks mate. yeah i tried playing with that a bit - the idea was to stop people reading ahead so they focus on the content they are viewing and don't skip stuff
i can totally appreciate its annoying. kinda tough how to balance it
yeah we've got a few ideas but at the moment we are just trying to figure out the best way to do it! thanks for the comment
At the moment - we are just focusing on getting data together from users which has been a fair bit of work. We do some automation in the background - but we're bootstrapped so its all what time we have!
We think being able to ask what something is and getting a response from a community is something thats a bit different in the image space.
thanks for the comment mate!
yeah - we currently actually work with a heap of retailers and we do match to where you buy them - we've around 90 or so at the moment (love to get your thoughts on http://about.crowdsend.com).
publishers can do a bunch of stuff too - but we think the bigger problem rests with the community than with publishers.
basically once a product's been identified then we match it to a bunch of retailers if we can find it!
What we solve - which we think is the biggest problem - is being able to ask what is inside an image.
You as a user, can grab any image, from any website - and ask what is inside it and others can help you. That's what we believe is the biggest problem.
The problem isn't arriving at an image and knowing - its arriving and not knowing. Luminate (and others) require the publishers to tag - however what if you arrive at some website (like the entire of instagram as one tiny example) and want to know what's in an image - where do you go ? Google - nope. That's just similar images they don't tell you any more. Luminate won't help you either.
So that's the difference - luminate and everyone else doesn't actually help you solve a problem as you surf the web.
Love to give you a preview if you're interested - we've done all this bootstrapped. We are only in beta so there will be bugs!