We would really need a tuning suite we can use for different processors.
I mainly think of multiplication stuff, but other parameters are also important, of course.
My thinking is that such a program runs different functions, and checks where the thresholds are. When I say checks I am mainly thinking of applying some approximated time function on the form
$$t(n) = p_k(n) + \ell(n) + w(n)$$
where $p_k$ is a univariate polynomial of degree $k$, $\ell$ is a polynomial-ish function with coefficients on the form $\lambda_1 \log n + \lambda_2 \log \log n + \cdots$ and $w$ may be some special function. The allowed form of this time function should be different for different algorithms (for instance, schoolbook multiplication should not have some logarithmic factor).
One should be able to just run the program, and it will spit out all the thresholds.
We would really need a tuning suite we can use for different processors.
I mainly think of multiplication stuff, but other parameters are also important, of course.
My thinking is that such a program runs different functions, and checks where the thresholds are. When I say checks I am mainly thinking of applying some approximated time function on the form
$$t(n) = p_k(n) + \ell(n) + w(n)$$ $p_k$ is a univariate polynomial of degree $k$ , $\ell$ is a polynomial-ish function with coefficients on the form $\lambda_1 \log n + \lambda_2 \log \log n + \cdots$ and $w$ may be some special function. The allowed form of this time function should be different for different algorithms (for instance, schoolbook multiplication should not have some logarithmic factor).
where
One should be able to just run the program, and it will spit out all the thresholds.