HackerLangs
TopNewTrendsCommentsPastAskShowJobs

Archit3ch

479 karmajoined hace 7 años
[email protected]

Submissions

Anukari: The Path to 1.0

anukari.com
5 points·by Archit3ch·hace 17 días·0 comments

Ask HN: How to handle desktop app security post-Mythos?

2 points·by Archit3ch·hace 3 meses·2 comments

Anukari on the CPU (part 2: CPU optimization)

anukari.com
14 points·by Archit3ch·hace 8 meses·0 comments

Fast Matrix Multiply on an Apple GPU

percisely.xyz
1 points·by Archit3ch·hace 9 meses·0 comments

comments

Archit3ch
·ayer·discuss
With so many people implementing their own SSD streaming for specific combinations of model+hardware, maybe we should look into upstreaming to antirez/ds4 or llama.cpp...
Archit3ch
·ayer·discuss
You can keep the KV cache in (possibly Unified) RAM to avoid SSD writes entirely. Not sure if it would fit on a 32GB laptop, though.
Archit3ch
·ayer·discuss
Working on something similar targeting macOS on Apple Silicon, Unsloth split GGUF, compressed partial residency in unified memory (would make more sense on 128GB instead of my 64GB...), native Metal kernels, and RAM-only native compressed KV. Happy to put on GitHub when it's ready.
Archit3ch
·ayer·discuss
At this point comparing to Gemini is a free Bingo space.
Archit3ch
·ayer·discuss
As a developer, subscriptions come with a few problems:

- Users cannot open their old projects unless they pay the subscription.

- Lower uptake in general, which affects viral adoption ("my friends use this software, so will I"). This is important if you rely on word-of-mouth instead of ad spend.

- Need to keep shipping features to justify the subscription cost. There is less focus on stability/maintenance.
Archit3ch
·hace 3 días·discuss
For developer productivity, you can move to a REPL workflow with edit-compile-test at the function level. Julia does this while staying on LLVM.

Of course, compile-the-world is still going to be slow, but there is no solution for that in the C++/Rust ecosystems either.
Archit3ch
·hace 3 días·discuss
Is it possible to create an audio-grade capacitance multiplier in CMOS?
Archit3ch
·hace 4 días·discuss
Surely this will succeed where $4B Modular failed!
Archit3ch
·hace 4 días·discuss
> A subset of python is python.

Mojo folks (rightly) disagree.
Archit3ch
·hace 4 días·discuss
> If low latency is your goal than you don't want JIT.

To be more specific, you don't want Java-style-JIT. Julia JIT (which functions closer to AOT in this case) is fine for low latency.
Archit3ch
·hace 7 días·discuss
I'm travelling without my Zen 4 machine, or I could test it. ;) Oh well, Compiler Explorer is enough to look at these microbenchmarks on your own.

These simulations are single core to avoid core-to-core latency. Number of cores isn't relevant unless you want to run independent voices/channels and sum them at the end.

So you start with a very optimistic ~90 GFLOPs of 64-bit FMA on Zen 4. Unfortunately, not all operations are clean multiply-adds. Realistically, you'll need trigonometric functions and LUTs, which are quite slower. Btw, the tradeoff between when to compute vs LUT is very fragile and can change due to a ton of factors (notably integrator algorithm).

Then the data you are operating on won't fit cleanly in AVX-512 registers, requiring spills to L1 cache. Ok, still fast on a modern core.

Of course, the peak theoretical number assumes clean vectorization with double-pumped AVX-512... which also won't happen in practice. Classical DSP will fare better (https://www.youtube.com/watch?v=Ssq0a-YdamM) but SPICE integrators are inherently branchy and divergent. Especially for adaptive integrators, you'll waste a lot of operations trying to "lock in" at the exact time point where the waveform turns a corner. Apple Silicon is better at this messy, branchy code.

So yeah, it's possible-but-hard to hit hard-realtime under these conditions.
Archit3ch
·hace 7 días·discuss
> Call me when it stops making things up.

We are here.

Yes, it can still produce value.
Archit3ch
·hace 7 días·discuss
Sure, that works. Caveats:

1. Your frontend needs to support emitting WASM. Ok for Rust, not for every language out there.

2. 2x-4x performance overhead.
Archit3ch
·hace 7 días·discuss
If I understand this correctly, you could run this compiler on iPadOS (since it's plain C). But you cannot mark it's output executable, since that would require JIT entitlement.
Archit3ch
·hace 7 días·discuss
> I think given how fast computers have become relative to digital audio there is probably a good case to just make any "modular synth" run at 32-bit 480KHz or even 4.8MHz through every stage that could process the audio.

1. It should run at FP64 if you want to preserve filter resonances, etc.

2. At 10x/100x fixed-rate oversampling, even a modern "fast" CPU will have very few cycles per (higher-rate) sample to run the DSP for 1 "module" of the software modular. Forget about interconnected modules, multiple tracks, or polyphony. For this kind of "analog"-style processing, it's better to run adaptive-rate algorithms (think SPICE) instead of wasting compute on unnecessary extra audio samples.
Archit3ch
·hace 7 días·discuss
> the following audio processing is better done after converting the samples to FP32

Or, in some cases, FP64.
Archit3ch
·hace 8 días·discuss
Pre-ordered one with gyro+accelerometer for livecoding.
Archit3ch
·hace 9 días·discuss
> ability to create a self-contained binary

> so i am very happy to see a high level language get that potential. besides go only common lisp has that ability that i am aware of.

Julia can do it.
Archit3ch
·hace 10 días·discuss
Metal only supported via wgpu due to pulling in CubeCL as a dependency is... not ideal.

If you need to extend it, you'll have to write custom Autodiff rules with the ergonomics of a Rust front-end and a JAX-like backend. :(
Archit3ch
·hace 15 días·discuss
> How did Mojo already lose when Qualcomm just made a $4B bet on it?

NVDA market cap is $4.7T.

The difference between a billion and a trillion is roughly a trillion.