В течение некоторого времени основное вычислительное оборудование имеет инструкции 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:
Чтобы адресовать обратную связь до сих пор, верно, что программирование графического процессора является сложным и, что сделано неправильно, ухудшает производительность. Но хорошо известно, что parallelism - будущее вычислений, поэтому суть этого вопроса заключается в том, что он не помогает аппаратным и языкам программирования охватывать параллельную парадигму, если промежутки времени между приложениями и оборудованием не поддерживайте его... почему мы не видим это на радарах/дорожных картах поставщика VM?