3 ms·
Also, I believe no one is doing linear programming without vectorized operations (SIMD) nowadays. I know JVM optimizes small methods, so maybe their JIT optimi
by deepsun 9y ago
Also, I believe no one is doing linear programming without vectorized operations (SIMD) nowadays.
I know JVM optimizes small methods, so maybe their JIT optimizer does that automatically, but I'm not sure that optimizer is better that manually optimized code like in numpy.
- agibsonccc 9y agoWe see folks using our linalg library for this and deep learning: http://nd4j.org http://nd4j.org We maintain our own c++ and cuda stack underneath this as well. It also allow control of these native components from java. We implement everything from our own garbage collector for cpu and gpu to our own cuda kernels.
- MaxBarraclough 9y agoI suspect you're right. Java doesn't have the best track-record when it comes to SIMD. Unlike .Net with System.Numerics.Vectors, they're not even interested in making a platform-independent SIMD library for manual optimisation. The JVM holds contempt for such real-world optimisations. I see that Intel have made one though - https://software.intel.com/en-us/articles/vector-api-developer-program-for-java https://software.intel.com/en-us/articles/vector-api-develop... At a glance, it looks like Oracle have dabbled with AVX in HotSpot, but aren't taking it very seriously. https://www.google.com/search?q="-XX%3AUseAVX" https://www.google.com/search?q="-XX%3AUseAVX"
- sevensor 9y agoAlso note that integer linear programming like in the article is very different in practice from continuous linear programming. Relaxing to a continuous problem often doesn't help much.