Live data from Hacker News

Anthropic's original take home assignment open sourced

github.com

371–380 of 394 posts

Re: Anthropic's original take home assignment open sourced

#371

> If you optimize below 1487 cycles, beating Claude Opus 4.5's best performance at launch, email us at performance-recruiting@anthropic.com with your code (and ideally a resume) so we can be appropriately impressed and perhaps discuss interviewing. This is an interesting way to recruit. Much better than standard 2 leetcode medium/hard questions in 45 mins.

It would take something like one week full time to work on this. It's not something you can do if you have a full-time job and apply to several other companies. I find it unreasonable to ask a candidate to spend that much time for an uncertain result. It's true that being ready for leetcode takes practice, but at least it's standard so you can re-use the skills to other interviews. Optimizing some generated code is c…

> It's not something you can do if you have a full-time job

> I find it unreasonable to ask a candidate to spend that much time

And same for some reason does not apply to leetcode style interviews?

> It would take something like one week full time to work on this

I am not sure if this is satire or what? You need months of continuous preparation to be ready for the leetcode style interview.

> Optimizing some generated code is certainly fun, but it's as useless as leetcode for your average programmer.

No, it is not. This is specifically the type of job you would be doing tomorrow at Anthropic team if hired. And they are specifically hiring people who are already good enough at that very task. The same cannot be said for the leetcode, not even remotely comparable.

Re: Anthropic's original take home assignment open sourced

#372

Earlier quoted context omitted.

Also bears all the hallmarks of an ordinary post (by someone fairly educated) on the Internet. This would make sense, because LLMs were trained on lots of ordinary posts on the Internet, plus a fair number of textbooks and scientific papers.

The — character is the biggest cause of suspicion. It's difficult to type manually so most people - myself included - substitute the easily typed hyphen. I know real people do sometimes use it, but it's a smell.

The comment was not wrong though so I am not sure I understand if flagging it for the sole "it was most likely written by the use of AI" reason is completely valid.

Re: Anthropic's original take home assignment open sourced

#373

I'm at 1137 with one hour with opus now... Pipelined vectorized hash, speculation, static code for each stage, epilogues and prologues for each stage-to-stage... I think I'm going to get sub 900 since i just realized i can in-parallel compute whether stage 5 of the hash is odd just by looking at bits 16 and 0 of stage 4 with less delay.....

Submit it to the leaderboard: https://www.kerneloptimization.fun/

Why do you need an X account for it? Seems like a ridiculous requirement

Re: Anthropic's original take home assignment open sourced

#374

Earlier quoted context omitted.

Submit it to the leaderboard: https://www.kerneloptimization.fun/

I think I can hit #1 (current #1 is 1000). sub 900 not possible though. Let me put down my thought process: You have to start to think of designing a 6-slot x8-len vector pipeline doing 48 hashes in parallel first which needs at least 10 steps —- if you convert three stages to multiply adds and do parallel XORs for the other three) —- the problem with 10 cycle hashing is you need to cram 96 scalar xors along side you…

> sub 900 not possible though.

I performed a similar analysis to you and found it very difficult to imagine sub-1000. Your comment I think convinced me that it may be possible, though. Interesting.

I'm below the threshold for recruiting but not below Claude at the moment. Not sure where I am going wrong.

Re: Anthropic's original take home assignment open sourced

#375

Naively tested a set of agents on this task. Each ran the same spec headlessly in their native harness (one shot). Results: Agent Cycles Time ───────────────────────────────────────────── gpt-5-2 2,124 16m claude-opus-4-5-20251101 4,973 1h 2m gpt-5-1-codex-max-xhigh 5,402 34m gpt-5-codex 5,486 7m gpt-5-1-codex 12,453 8m gpt-5-2-codex 12,905 6m gpt-5-1-codex-mini 17,480 7m claude-sonnet-4-5-20250929 21,054 10m claude-…

That Claude Opus 4.5 result of 4,973 is what you get if you just vectorize the reference kernel. In fact you should be under 4,900 doing that with very little effort (I tried doing this by hand yesterday).

The performance killer is the "random" access reads of the tree node data which the scalar implementation hides, together with the lack of load bandwidth, and to tackle that you'd have to rewrite the kernel to optimize the tree data loading and processing.

Re: Anthropic's original take home assignment open sourced

#377

Earlier quoted context omitted.

I think I can hit #1 (current #1 is 1000). sub 900 not possible though. Let me put down my thought process: You have to start to think of designing a 6-slot x8-len vector pipeline doing 48 hashes in parallel first which needs at least 10 steps —- if you convert three stages to multiply adds and do parallel XORs for the other three) —- the problem with 10 cycle hashing is you need to cram 96 scalar xors along side you…

> sub 900 not possible though. I performed a similar analysis to you and found it very difficult to imagine sub-1000. Your comment I think convinced me that it may be possible, though. Interesting. I'm below the threshold for recruiting but not below Claude at the moment. Not sure where I am going wrong.

Here’s some other hints: combine hash stages 2 and 3, it can be two muladds and a XOR

For the first several rounds (when every tree value is in use) Combine the stage 5 XOR with the subsequent round’s tree XORs. You can determine even/odd in hash stage 5 starting with a ^ (a>>16) without Xoring the constant, then you can only need one XOR, this saves you a ton of XORs

Create separate instruction bundles for the first round, rounds 1-5 (combining hash stages 5 XOR with next round tree XORs) and 6-9 (not every tree node is used anymore), round 10 round 11-14 and round 15 and combine them.

you can use add_imm in parallel to load consts. stage 0 you have to do load the tree first and the vals, by later stages when everything is in scratch, you could use 12 scalar XORs and 6 vector XORs on scratch. once you vload vals, you can start to do XORs but can only advance so much at a time, so I’m starting to work on getting hash stages moving to different rounds faster to hide the initial vloads and get to the heavy load section sooner and spread the load pain.

Re: Anthropic's original take home assignment open sourced

#379
post #173
post #96

Earlier quoted context omitted.

I'm 30 years in, and literally don't understand the question.

Since it's a CPU, you start with the idea that there is an ALU and spiral outward from that. That gives you something concrete to wrap your head around while you climb up the abstraction levels. However, when I hit "scratch_write" and it wasn't in the Machine class and it wasn't coming from some Decorator and it was getting defined and deleted by a member function ... I stopped. That's paying lip service to the varia…

What is variable typing?
Post reply on HN