Keluaran PoCL 3.1 dengan pelaksanaan bebas standard OpenCL

Keluaran projek PoCL 3.1 (Portable Computing Language OpenCL) telah dibentangkan, yang membangunkan pelaksanaan standard OpenCL yang bebas daripada pengeluar pemecut grafik dan membenarkan penggunaan pelbagai hujung belakang untuk melaksanakan kernel OpenCL pada pelbagai jenis grafik dan pusat. pemproses. Kod projek diedarkan di bawah lesen MIT. Menyokong kerja pada platform X86_64, MIPS32, ARM v7, AMD HSA APU, NVIDIA GPU dan pelbagai pemproses ASIP khusus (Pemproses Set Arahan Khusus) dan TTA (Transport Triggered Architecture) dengan seni bina VLIW.

Pelaksanaan pengkompil kernel OpenCL dibina berdasarkan LLVM, dan Clang digunakan sebagai hujung hadapan untuk OpenCL C. Untuk memastikan mudah alih dan prestasi yang betul, pengkompil kernel OpenCL boleh menjana fungsi gabungan yang boleh menggunakan pelbagai sumber perkakasan untuk menyelaraskan pelaksanaan kod, seperti VLIW, superscalar, SIMD, SIMT, multi-core dan multi-threading. Terdapat sokongan untuk pemacu ICD (Pemacu Pelanggan Boleh Pasang). Terdapat bahagian belakang untuk menyokong operasi melalui CPU, ASIP (TCE/TTA), GPU berdasarkan seni bina HSA dan GPU NVIDIA (melalui libcuda).

Dalam versi baharu:

  • Menambah sokongan untuk Clang/LLVM 15.0.
  • Sokongan perwakilan perantara shader SPIR-V yang dipertingkatkan dengan ketara untuk pemacu CPU dan CUDA.
  • Pemacu untuk perkakasan khusus (CL_DEVICE_TYPE_ACCELERATOR) dan peranti tersuai (CL_DEVICE_TYPE_CUSTOM) yang tidak menyokong kompilasi dalam talian telah direka bentuk semula dengan ketara. Pemacu accel dan ttasim telah digabungkan menjadi pemacu AlmaIF baharu.
  • Kerja diteruskan pada pemacu untuk API grafik Vulkan.
  • Pelaksanaan asas sambungan cl_khr_command_buffer dicadangkan, yang membolehkan anda menulis urutan arahan OpenCL untuk pelaksanaan dalam satu panggilan.

Sumber: opennet.ru

Tambah komen