News for hackers. Stuff that matters.

mkristiansen

Re:Optimizing a GPT-2-Class Transformer on a GPU on Sunday August 09, 2026 @08:02PM (#49237617)
Notes for whomever might find it interesting :)
Re: on Thursday November 13, 2025 @12:26PM (#45917695)
I started wondering what what behind those chatbots that you see on all kinds of websites.
My favorite part of this is the fact that the Haskell solution is considered "too clever".
Re:Ultra fast key value store (in C btw) on Thursday October 24, 2024 @05:24PM (#41939943)
I think doing things like this in a language like C can serve as a reminder that it is, very much posible, to do actual work with minimal tools - In my case emacs and a clang.
Re:Ultra fast key value store (in C btw) on Thursday October 24, 2024 @05:20PM (#41939912)
On the first part, yes there are pleanty of wire-compatable redis clones. And while those are interesting, its your second part that I find interesting as well.

The idea of having a strong templating engine with a fast storage backend able to use dynamic content to deliver efficiently renderes websites with minimal hardware.

Re:Ultra fast key value store (in C btw) on Thursday October 24, 2024 @05:15PM (#41939873)
I like that idea.
Re:Ultra fast key value store (in C btw) on Thursday October 24, 2024 @05:14PM (#41939866)
I'm considering open sourcing parts of the system -- at its core this is a hashtable with wrapped in a tcp server. At its core a system like this is fairly simple :)
Re:Ultra fast key value store (in C btw) on Thursday October 24, 2024 @05:09PM (#41939816)
I went over the guidelines and cannot figure out which rule I broke?

"You write that it would be more useful to re-post something else" -- Is your critique just that you didnt like the quality of what I wrote? or is there something more tangable?

Re:Ultra fast key value store (in C btw) on Thursday October 24, 2024 @04:37PM (#41939495)
I'm sorry to hear that it read like that to you. I was "slightly" inspired by reading "The Tale of Despereaux" to my kid and was trying to capture the tone of the book. :)
Fast Math basically means "who cares about standards just add in whatever order you want" :)
This is really interesting. I have a couple of questions, mainly from the fact that the code is c++ code is about 2x slower than then Numpy.

I had a look at the assembly generated, both in your repo, and from https://godbolt.org/z/76K1eacsG

if you look at the assembly generated:

        vmovups ymm3, ymmword ptr [rdi + 4*rcx]

        vmovups ymm4, ymmword ptr [rsi + 4*rcx]

        add     rcx, 8

        vfmadd231ps     ymm2, ymm3, ymm4

        vfmadd231ps     ymm1, ymm3, ymm3

        vfmadd231ps     ymm0, ymm4, ymm4

        cmp     rcx, rax

        jb      .LBB0_10

        jmp     .LBB0_2
you are only using 5 of the sse2 registers(ymm0 -- ymm4) before creating a dependency on one of the (ymm0 -- ymm2) being used for the results.

I Wonder if widening your step size to contain more than one 256bit register might get you the speed up. Something like this (https://godbolt.org/z/GKExaoqcf) to get more of the sse2 registers in your CPU doing working.

        vmovups ymm6, ymmword ptr [rdi + 4*rcx]

        vmovups ymm8, ymmword ptr [rsi + 4*rcx]

        vmovups ymm7, ymmword ptr [rdi + 4*rcx + 32]

        vmovups ymm9, ymmword ptr [rsi + 4*rcx + 32]

        add     rcx, 16

        vfmadd231ps     ymm5, ymm6, ymm8

        vfmadd231ps     ymm4, ymm7, ymm9

        vfmadd231ps     ymm3, ymm6, ymm6

        vfmadd231ps     ymm2, ymm7, ymm7

        vfmadd231ps     ymm1, ymm8, ymm8

        vfmadd231ps     ymm0, ymm9, ymm9

        cmp     rcx, rax

        jb      .LBB0_10

        jmp     .LBB0_2

which ends up using 10 of the registers, allowing for 6 fused multiplies, rather than 3, before creating a dependency on a previous result -- you might be able to create a longer list.

Again -- This was a really interesting writeup :)

Re:ClassicPress – The CMS for Creators on Sunday October 13, 2024 @02:23PM (#41830254)
"Error establishing a database connection" ... Have you considered caching?
Yes, scientific progress is awesome, when taking a long view -- but it requires that we keep being critical if we want the progress to continue.
Re:How to program a drawing machine [video] on Thursday July 11, 2024 @06:28PM (#40941193)
This is such a wonderful explanation.
Re:The Thirty Million Line Problem(Casey Muratori) [video] on Friday February 02, 2024 @05:44PM (#39235479)
Casey Muratori's talk about how the mess we find ourselves i. And his suggestions for how we get out of it.
Re:Freshql - a System for building systems, almost no code on Tuesday January 30, 2024 @07:01PM (#39197816)
A new project to build out a platform for building simple systems. Enabling building without writing code.
Re:WeWork is likely to declare bankrupcy next week on Wednesday November 01, 2023 @05:23PM (#38105521)
For all the startups relying on wework for office space
Re:Is All Programming a Scam? on Tuesday July 11, 2023 @04:34PM (#36686873)
Thank you, you are right - and I appreciate the rusty pun. I think, as a general thing, there are a few things that I would do differently if I wanted to build a production version of this code. Firstly I would find a better way of parsing the headers. :)

Older »