В течение некоторого времени основное вычислительное оборудование имело инструкции SIMD (MMX, SSE, 3D-Now и т. Д.), И совсем недавно мы видим, как AMD вводит 480-потоковые графические процессоры в тот же кристалл, что и ЦП.
Функциональные языки, такие как F #, Scala и Clojure, также набирают обороты, и одна общая привлекательность заключается в том, насколько проще параллельное программирование в этих языках.
Существуют ли какие-либо планы относительно того, чтобы Java VM или .NET CLR начали предоставлять доступ к аппаратным ресурсам параллельных вычислений, чтобы функциональные языки могли развиваться для использования аппаратного обеспечения?
Это кажется , как будто виртуальные машины в настоящее время являются узким местом для высокопроизводительных вычислений, поскольку доступ к SIMD и GPU делегирован сторонним библиотекам и посткомпиляторам (tidepowered.net, OpenTK, ScalaCL, Brahma, и т. д.)
Кто-нибудь знает о каких-либо планах / планах со стороны сообщества Microsoft / Oracle / Open-Source по обновлению своих виртуальных машин с новыми аппаратными и программными парадигмами?
Есть ли веская причина, почему поставщики так вяло относятся к поглощению?
Edit:
Что касается обратной связи, правда, что программирование на GPU является сложным и, если оно сделано неправильно, ухудшает производительность. Но хорошо известно, что параллелизм - это будущее вычислительной техники, поэтому суть этого вопроса заключается в том, что для аппаратных средств и языков программирования не помогает охватить параллельную парадигму, если среды выполнения между приложениями и аппаратными средствами не поддерживают ее. ... почему мы не видим этого на радарах / дорожных картах производителя виртуальных машин?