Path: csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: minforth Newsgroups: comp.lang.forth Subject: Re: Vector sum Date: Sun, 20 Jul 2025 06:27:53 +0200 Lines: 50 Message-ID: References: <1f433fabcb4d053d16cbc098dedc6c370608ac01@i2pn2.org> <063d4a116fb394a776b1e9313f9903cf@www.novabbs.com> <2025Jul14.095004@mips.complang.tuwien.ac.at> <2025Jul16.132504@mips.complang.tuwien.ac.at> <2025Jul16.173926@mips.complang.tuwien.ac.at> <20250717101400.000074f9@tin.it> <2025Jul17.145429@mips.complang.tuwien.ac.at> <20250717224825.00007b8c@tin.it> <2025Jul19.121815@mips.complang.tuwien.ac.at> <2025Jul19.165100@mips.complang.tuwien.ac.at> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: individual.net TpUDvVbXhG+4o+Gdg69omQh+3k6oIbWQvAcvkmju9GlBv2Ptxh Cancel-Lock: sha1:7VWexhAwMo7fUeSvosWDoAK80UA= sha256:yLB2iGg+GixRfc9P+Dig6gGPEpYADHMSrVx2ych1Lr8= User-Agent: Mozilla Thunderbird In-Reply-To: <2025Jul19.165100@mips.complang.tuwien.ac.at> Xref: csiph.com comp.lang.forth:134077 Am 19.07.2025 um 16:51 schrieb Anton Ertl: > minforth writes: >> Am 19.07.2025 um 12:18 schrieb Anton Ertl: >> >>> One way to deal with all that would be to have a long-vector stack and >>> have something like my vector wordset >>> , where the sum of a vector >>> would be a word that is implemented in some lower-level way (e.g., >>> assembly language); the sum of a vector is actually a planned, but not >>> yet existing feature of this wordset. >>> >> >> Not wanting to sound negative, but who in practice adds up long >> vectors, apart from testing compilers and fp-arithmetic? > > Everyone who does dot-products. > >> Dot products, on the other hand, are fundamental for many linear >> algebra algorithms, eg. matrix multiplication and AI. > > If I add a vector-sum word > > df+red ( dfv -- r ) > \ r is the sum of the elements of dfv > > to the vector wordset, then the dot-product is: > > : dot-product ( dfv1 dfv2 -- r ) > df*v df+red ; Sure, slow hand is not just for guitar players. With FMA, one could traverse the vectors in one go. https://docs.nvidia.com/cuda/floating-point/index.html > Concerning matrix multiplication, while you can use the dot-product > for it, there are many other ways to do it, and some are more > efficient (although, admittedly, I have not used pairwise addition for > these ways). There are tons of algorithms depending on various matrix properties. Then, given a desktop and a fat CPU, LAPACK et al. are your friends. Embedded or special CPU .. is a different story.