I've thought about this too. So I changed my code to
Is there anything else to be done rather than
Control.LinearAlgebraProvider = new MklLinearAlgebraProvider();
ContinuousUniform uniform = new ContinuousUniform(-0.5, 0.5);
DenseVector a = DenseVector.CreateRandom(100, uniform);
DenseVector b = DenseVector.CreateRandom(100, uniform);
Stopwatch watch = new Stopwatch();
watch.Start();
for (int i = 0; i < 100000; i++) {
var c = a * b;
}
watch.Stop();
Console.WriteLine(watch.Elapsed);
Still, MKL is much slower, according to the console output. Is there anything else to be done rather than
Control.LinearAlgebraProvider = new MklLinearAlgebraProvider()
? E.g., configuring my CPU with some Intel tools?