JIT derleyicisine GPU (Linux, yalnızca Windows) nasıl kullanılıyor?

Yalnızca JIT (Just-In-Time) derleyicisini, belirli işleme görevlerini genel amaçlı bir grafik işleme birimine (GPU) boşaltmak için etkinleştirebilirsiniz. JIT, performans buluşlarına dayalı olarak bu görevlerin ne zaman boşaltılacağında karar verir.

Bir parallel().forEach döngüsü, farklı iş parçacıklarını kullanarak, bir kod bölümünü birden çok kez paralel olarak çalıştırır. Bu tip bir koşut işleme görevi, aynı anda aynı yönergeyi çalıştırabilen binlerce çekirdeğe sahip GPU ' da işlenmek üzere uygundur. Bununla birlikte, CPU ile GPU arasında veri taşımada genel bir yük olduğu için, JIT yalnızca belirli başarım bilgileri karşılandığında işleme alır.

Etkinleştirildiğinde, JIT derleyicisi GPU ' da karşılık gelen lamda ifadesini başlatarak aşağıdaki Java™ yapılarını hızlandırmaya çalışır:
IntStream.range(<range>).parallel().forEach(<lambda>)
IntStream.rangeClosed(<range>).parallel().forEach(<lambda>)
Burada:
  • <range> , üst ve alt sınırları tanımlar.
  • <lambda> , doğru tanımlanmış bir lamda ifadesidir.
Bu JIT eniyilemesi, lamda ifadesinin içinde aşağıdaki yapıları gerçekleştirir:
Tipler
Tüm Java temel tiplerinin değişkenleri ve tek boyutlu dizileri.
Depolama Olanağı
Otomatik, parametreler ve eşgörünüm değişkenleri. Durağan değişkenler desteklenmiyor.
İşlemler
instanceofdışındaki tüm Java işleçleri.
Deyimler ve ifadeler
new, throwve yöntem çağırımları dışındaki tüm Java deyimleri ve ifadeleri.
Java özel durumları
Tüm standart Java kural dışı durumları; NullPointerException, ArrayIndexOutOfBoundsExceptionve ArithmeticException' yi içerir.
Aşağıdaki işlemler desteklenmez:
  • Yöntem çağırımları.
  • map ya da filtergibi ara düzey işlemler.
  • Kullanıcı kural dışı durumları.
Not: Bazı çağrılar JIT derleyicisi tarafından gövde içine alınmış olur.

Uygulamanıza başladığınızda komut satırında -Xjit:enableGPU seçeneğini ayarlayarak GPU işlemini etkinleştirebilirsiniz. Daha fazla bilgi için bakınız: Enabling application procesing on a graphics procesing unit (Linux, Windows only).

GPU ' ya işlemeyi boşaltmak için sisteminizin, GPU sistem gereksinimleri (yalnızcaLinux, Windows)içinde belirtilen minimum gereksinimleri karşılaması gerekir. Sorun yaşıyorsanız, bkz. GPU sorunu saptama (Linux, yalnızca Windows).