Earlier quoted context omitted.
I feel like sometimes it just loops those messages when it doesn't actually generate new tokens. But I might be wrong
There are some other failure modes that all feel kinda vaguely related that probably help with building a hypothesis about what's going wrong: Sometimes Gemini tools will just randomly stop and pass the buck back to you. The last thing will be like "I will read the code to understand " and then it waits for another prompt. So I just type "continue" and it starts work again. And, sometimes it will spit out the interna…
Anthropic's original take home assignment open sourced
311–320 of 394 posts
Re: Anthropic's original take home assignment open sourced
#312Earlier quoted context omitted.
It does seem a bit of a strange challenge - a bit reminiscent of high school math problems where understanding the question was as much part of it as actually solving the problem when you understood it. Since the focus of the challenge appears(?) intended to be optimization, not reverse engineering, it's a bit odd that they don't give a clear statement of what the kernel is meant to be computing. Perhaps the challeng…
I just threw this prompt at Gemini, and it seems (I haven't analyzed the problem to see if it is correct), to be able to extract a clear understanding of the problem, and a specification for the kernel. "Can you "reverse engineer" what the kernel in this optimization exercise is actually doing - write a specification for it? https://github.com/anthropics/original_performance_takehome " Gemini says it's doing inferenc…
It's doing some sort of binary tree traversal, but the hashing and wrap around looks weird - maybe just a made up task rather than any useful algorithm?
Re: Anthropic's original take home assignment open sourced
#313Earlier quoted context omitted.
Your comment history is littered with “nerds”, “elite”, “better” and all sorts of comparisons. > I was reminding them that there is always someone smarter. And even with this comment you literally do not understand that you have some skewed view of the world. Do you have some high school trauma?
Where I come from, nerd is a term of endearment buddy. > And even with this comment you literally do not understand that you have some skewed view of the world. I’m well aware I don’t have a perfect view of reality and the map isn’t the territory. Do you?
Re: Anthropic's original take home assignment open sourced
#314Re: Anthropic's original take home assignment open sourced
#315Earlier quoted context omitted.
Which Gemini model did you use? My experience since launch of G3Pro has been that it absolutely sucks dog crap through a coffee straw.
/model: Auto (Gemini 3) Let Gemini CLI decide the best model for the task: gemini-3-pro, gemini-3-flash After ~40 minutes, it got to: The final result is 2799 cycles, a 52x speedup over the baseline. I successfully implemented Register Residency, Loop Unrolling, and optimized Index Updates to achieve this, passing all correctness and baseline speedup tests. While I didn't beat the Opus benchmarks due to the complexit…
Re: Anthropic's original take home assignment open sourced
#316Earlier quoted context omitted.
It's because the higher up the stack you go, tools become more declarative and literate. Calling sort is far easier than understanding the algorithm for example.
> Calling sort is far easier than understanding the algorithm for example. This was one of my gripes in college, why am I implementing something if I just need to understand what it does? I'm going to use the built-in version anyway.
He was brought in by the state to do some coaching for existing software devs back in the 90s. When he was going over the various different basic algorithms (insertion sort, selection sort, etc.) one of the devs in the back of the class piped up with, "why are you wasting our time? C++ has qsort built in."
When you're processing millions of records, many of which are probably already sorted, using an insertion sort to put a few new records into a sorted list, or using selection sort to grab the few records you need to the front of the queue, is going to be an order of magnitude faster than just calling qsort every time.
Turned out he worked for department of revenue. So my teacher roasted him with "oh, so you're the reason it takes us so long to get our tax returns back."
Thinking that you can just scoot by using the built-in version is how we get to the horrible state of optimization that we're in. Software has gotten slow because devs have gotten lazy and don't bother to understand the basics of programming anymore. We should be running a machine shop, not trying to build a jet engine out of Lego.
Re: Anthropic's original take home assignment open sourced
#317Re: Anthropic's original take home assignment open sourced
#318I beat the target by deleting the parts that were causing the cycle count to be too high. /s
Re: Anthropic's original take home assignment open sourced
#319Earlier quoted context omitted.
Well, yes, they have a reference implementation as documentation, just as they have the simulator as documentation for the ISA ... The problem is about pipelining memory loads and ALU operations, so why not just give clear documentatation and state the task rather than "here's a kernel - optimize it"? \_(ツ)_/
Presumably that is only one of two purposes, with the other being to test your ability to efficiently read, understand, and edit low level code that you didn't write. I imagine you'd regularly run into raw PTX if you worked for them in the relevant capacity. And perhaps a third purpose is to use the simulator to test your ability to reason about hardware that you are only just getting familiar with.
Maybe they specified the challenge in this half-assed way to deliberately test those sorts of skills (even if irrelevant to the job), or maybe it was just lazily put together.
The other thing to note is that if you look at what the reference_kernel() is actually doing, it really looks like a somewhat arbitrary synthetic task (hashes, wraparound), so any accurate task specification would really need to be a "line by line" description of the steps, at which point you may as well just say "here's some code - do this".
Re: Anthropic's original take home assignment open sourced
#320I consider myself rather smart and good at what I do. It's nice to have a look at problems like these once in a while, to remind myself of how little I know, and how much closer I am to the average than to the top.
Yours is a good mentality to have because it creates the emotional drive to learn more, so don't lose that. That being said, this isn't really that complicated. Its just a matter of taking enough time to look at the code and understand how its structured. I feel like the thing that differentiates developer skill is pretty much being able to do that, specifically in the process of having the model of the program in yo…
For me, I've had that mentality for the longest time and I didn't get anything done because, well, "I'm just average".
For me, a little bit of arrogance (there's no way I couldn't do X, let's go do it), even if I end up "looking stupid" (see, I told you it was that hard!), was far more valuable to my development