xoranth
Joined 10 years ago
Karma
140
Submissions
87
Member since
Jun 26
Joined 10 years ago
> GPUs are also just generally a lot more limiting than SIMD in many other ways.
What do you mean? (besides things like CUDA being available only on Nvidia/fragmentation issues.)
Last time I tried using gathers on AVX2, performance was comparable to doing scalar loads.
float my_func(float lhs, float rhs) {
return 2.0f * lhs - 3.0f * rhs;
}
Becomes: my_func(float, float):
addss xmm0, xmm0
mulss xmm1, DWORD PTR .LC0[rip]
subss xmm0, xmm1
ret
(addss, mulss and subss are SSE2 instructions.)(the descendants of that proposal is `sched_ext`, so maybe it is possible to implement doors in eBPF + sched_ext?)
https://rocm.docs.amd.com/projects/rocBLAS/en/develop/how-to...
When asked people point to IOCP vs epoll, but I'm not sure how relevant it is now that Linux has io_uring.
(They also point to stable ABIs for drivers, but I am more interested in internals)
Can you share what LLMs do you run on such small devices/what user case they address?
(Not a rhetorical question, it's just that I see a lot of work on local inference for edge devices with small models, but I could never get a small model to work for me. So I'm curious about other people's user cases.)