This thought has been churning around in my mind for some years now — we focus too much on processing speed and reductions in time complexity and not enough on increasing the size and efficiency of our cache and stack . MM (especially MM on large type numbers like e.g. hashing algorithms) are very reliant on the cache because you can’t always fit that big of a number into a register. Side note, I was reading some Abs…
> We nevertheless stress that such improvements are only of theoretical interest, since the huge constants involved in the complexity of fast matrix multiplication usually make these algorithms impractical. It's only for mathematical interest
Matrix Multiplication Inches Closer To Mythic Goal
21–30 of 53 posts
Re: Matrix Multiplication Inches Closer To Mythic Goal
#22This thought has been churning around in my mind for some years now — we focus too much on processing speed and reductions in time complexity and not enough on increasing the size and efficiency of our cache and stack . MM (especially MM on large type numbers like e.g. hashing algorithms) are very reliant on the cache because you can’t always fit that big of a number into a register. Side note, I was reading some Abs…
200ns, not 200ms
Re: Matrix Multiplication Inches Closer To Mythic Goal
#23Earlier quoted context omitted.
Strassen method is faster than native multiplication, but it is not stable: you will get much larger rounding errors when implementing it using floating point numbers, compared to native multipllication. And fine precision is required for a lot of algorithm implemented using matrix multiplication, such as matrix inversion or gradient descent, so this is often a problem.
do we know if the rounding errors are a big deal for numerical methods that can tolerate inaccuracy (like gradient descent for machine learning)?
Re: Matrix Multiplication Inches Closer To Mythic Goal
#24Earlier quoted context omitted.
Strassen method is faster than native multiplication, but it is not stable: you will get much larger rounding errors when implementing it using floating point numbers, compared to native multipllication. And fine precision is required for a lot of algorithm implemented using matrix multiplication, such as matrix inversion or gradient descent, so this is often a problem.
do we know if the rounding errors are a big deal for numerical methods that can tolerate inaccuracy (like gradient descent for machine learning)?
Re: Matrix Multiplication Inches Closer To Mythic Goal
#25Re: Matrix Multiplication Inches Closer To Mythic Goal
#26Earlier quoted context omitted.
Strassen method is faster than native multiplication, but it is not stable: you will get much larger rounding errors when implementing it using floating point numbers, compared to native multipllication. And fine precision is required for a lot of algorithm implemented using matrix multiplication, such as matrix inversion or gradient descent, so this is often a problem.
do we know if the rounding errors are a big deal for numerical methods that can tolerate inaccuracy (like gradient descent for machine learning)?
When that happens, if you are not equiped to measure the numerical error or at least trained to suspect it, you might think that it is just the algorithm that is not working.
Re: Matrix Multiplication Inches Closer To Mythic Goal
#27Where do I start?
Re: Matrix Multiplication Inches Closer To Mythic Goal
#28I want to learn everything about this, so I can help solving it. Where do I start?
Re: Matrix Multiplication Inches Closer To Mythic Goal
#29Re: Matrix Multiplication Inches Closer To Mythic Goal
#30The part I don't follow is that I thought multiplication used the same number of CPU cycles as addition, so I didn't get the the part where one multiplication replaced with many additions was obviously better. Could someone explain that part? I feel I must be fundamentally misunderstanding something.