A Fast, Streaming SIMD Extensions 2, Logistic Squashing Function (Published in Neural Computation)
J.
J. Milner
cplusplus@hotmail.co.uk
A.
J. Grandison
School
of Computing and Mathematical Sciences,
30
Park Row,
doi:10.1162/neco.2008.10-06-366
Schraudolph proposed an excellent exponential approximation providing increased performance particularly suited to the Logistic Squashing Function used within many Neural Networking applications. This article applies Intel’s Streaming SIMD Extensions 2 (SSE2), where SIMD is Single Instruction Multiple Data, of the Pentium IV class processor to Schraudolph’s technique, further increasing the performance of the Logistic Squashing Function. It was found that the calculation of the new 32 bit SSE2 logistic squashing function described here was up to 38 times faster than the conventional exponential function and up to 16 times faster than a Schraudolph style 32 bit method on an Intel Pentium D 3.6 GHz CPU.
The source code for MS-Windows Visual Studio 2003 is available here. If anybody creates ports of this for Linux and/or AMD etc please let me know and I will add links here or I could host your code if this is helpful.