lun, 15 Feb 2010, Brian Schott skribis: > Bill, > > Is the simd capacity usage to which you refer referring to the > software programmer's action (such as avoiding using loops) or to > hardware design or to software application developer design. I assume > you mean the programmer, primarily, but I cannot be sure. My > experience with J has been that eschewing loops improves speed > dramatically, most notably with the Einstein puzzle solver which I > first implemented with while. loops and have compared its speed with > the revised version.
intel x86 cpu contains fpu (floating point unit) that has this smid capacity, the feature is called sse/sse2/sse3, AMD or PPC have similar capacity but called under other names. The fpu have many registers, but it need low level (assembler) language to feed data into these registers, suppose an array contains 40 numbers and we want to multiple the whole array by another number, it can feed data into fpu 4 numbers at a time and do the multiplication 10 times. This can only done by re-writing J interpreter and investigating suitable strategy for each primitive (can be done by Roger only). A even more exotic alternative to use the GPU inside NVidia card. -- regards, ==================================================== GPG key 1024D/4434BAB3 2008-08-24 gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3 ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
