|
|
|
|
|
by kxyvr
3187 days ago
|
|
As a note, this feature isn't exclusive to Julia. For example, Eigen implements something similar and the requirements for doing so are specified here: https://eigen.tuxfamily.org/dox-devel/TopicCustomizing_Custo... The reason to do so is to use a more exotic type that gives additional information. In the simplest case, we may want to use quad precision, which BLAS and LAPACK do not support by default (but it is possible to hack in). Alternatively, it's a good way to run automatic differentiation through the solve, or use infinite precision libraries like GMP, or use interval arithmetic. So, yes, it's right to be skeptical, but it is possible, some libraries support it, and it's a useful trick to have available. |
|
Of course, if you need something special, there are various techniques. My preference for those things is to skip the middleman and code them in CUDA/OpenCL kernels directly...
OTOH, I'm interested in machine learning applications rather than physics/engineering. Double is an overkill here, float is the sweet spot, and some techniques use half or even less precision. Quad-precision may just not be the case that I need, but for people who do, I suppose they'd have their ways of solving that.