3 ms·
> I would love to see one in rust there'd be real advantages for asynchronous parallelism in some of the most sophisticated models. Could you expand on this? i
by jackhalford 7y ago
> I would love to see one in rust there'd be real advantages for asynchronous parallelism in some of the most sophisticated models.
Could you expand on this? it's my understanding that these engines already use lapack/blas for higher dimension numerical calculations, which are already parallelized.
- alpineidyll3 7y agoSure-- there's really two operations going on here. Finding the contractions needed for a properly indistinguishable quantum expectation value (there's a geometric number with the number of quantum particles ie: A_ij \cdot B_ji + A_ij \cdot B_ij \rightarrow C_ij for two particles), and then evaluating those tensor contractions in-silico. Exactly as in ML frameworks like PyTorch/TF, these contractions are executed as: unravel tensors ==> matrix multiply ==> Reravel. Sometimes there might be more than one contraction too, and more than two tensors. The order of raveling, factorization etc. completely controls the efficiency assuming you're always getting near peak in your matrix multiply with several orders of magnitude separating best/worst. Batching out the different factorizations, contractions etc. even just for the symbolic logic is a huge combinatoric problem.