dblalock

Results 37 comments of dblalock

Hi @zinovya. RISC-V support would be really cool. I've personally never used it, but I think it's just a matter of porting all the mithral C++ functions. There's a decent...

Thanks for reaching out! I'm personally unlikely to do this in the foreseeable future since I'm not really adding new code anymore, but great to have this reference here!

Yes, padding with an extra zero at the end is probably the best solution. There are logically only 15, but the C++ cares about alignment and so wants blocks of...

The int8 vs uint8 shouldn't matter for the purpose of splitting. Any affine transformation is fine as long as it's applied to the data and the split vals the same...

I looked at the code some more and I think your first (zero-padded) version is correct. There's no packing into a single vector happening. ```c++ int split_idx = 0; for...

Yes, it's not obvious because it's SIMD-ified, but we actually are walking the tree in [this loop](https://github.com/dblalock/bolt/blob/e7726a4c165cc45ac117e9eabd8761013a26640e/cpp/src/quantize/mithral.cpp#L63) (which I think is the one you're referring to). The node for a...

To run any of the MADDNESS code, use [cpp/test/main.cpp](https://github.com/dblalock/bolt/blob/master/cpp/test/main.cpp). I used catch tests for everything because it gives you a nice CLI and makes debugging easy. You can run it...

@fjrdev: there is no learning available in the C++ API, only the python implementation. So you'd have to generate the split thresholds, split values, and prototypes in python and pass...

Hi @ruler501. Supporting different vector instructions would be great. I'm personally not sure what the use case would be for pre-AVX2 x86 instructions, since AVX2 has been out since 2013,...

Hi chengbinfeng , Sounds great. Since the operations are approximate anyway, this should just be a matter of writing a wrapper that turns float64 into float32 (ideally fused with the...