Note that there are some explanatory texts on larger screens.

plurals
  1. POI need faster floating point math for .NET C# (for multiplying and dividing big arrays)
    primarykey
    data
    text
    <p>I need fastest possible way to multiply and divide big arrays of data.</p> <p>I've read this (wrote by Ben Voigt <a href="https://stackoverflow.com/questions/14158956/simple-math-operations-faster-on-double-than-on-float-datatype">here</a>):</p> <blockquote> <p>.NET doesn't use MMX or SSE or AVX, as of the current version</p> <p>(...)</p> <p>modern C++ compilers not only allow SIMD usage, but can auto-vectorize ordinary-looking code into SIMD instructions</p> </blockquote> <p>.</p> <p>I think I need:</p> <ul> <li><p>SSE support with vector operations (for multiplying 4 floats at once)</p></li> <li><p>multithreading support (solution/library that will not collide somehow with C# threading)</p></li> </ul> <p><strong>Is there any library/dll that i can use?</strong></p> <p>Edit: any alternatives for Octave? I neeed only 2 operations: divide, multiply. If I understood correctly what is Octave and how it works - I will need to parse output... It cant be fast...</p> <hr> <p><strong>According to "what have you tried" and "why you don't want to use simple <code>for</code>":</strong></p> <p>I need this for neural network training. Network (now) has more than 50 inputs, many neurons (each 50+ weights). Learning data contains 100.000+ rows, 50+ fields each. Each neuron input needs few (at least 5) multiply operations.</p> <p>I have no idea how many learning epochs i need, but i tried to benchmark only multiply operations and i got result: about 16 secs per epoch on my Intel Core Duo T2500 2.0GHz CPU.</p> <p>Of course i can buy faster computer, but new computer is worth more than few hours of my work, so I hope it looks logical...</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload