Intel wypuścił silnik rozproszonego śledzenia promieni OSPRay 3.0.

Firma Intel opublikowała skalowalny silnik renderowania 3D OSPRay 3.0, zaprojektowany do realistycznej, wysokiej jakości wizualizacji metodą ray tracing. Silnik rozwija się w ramach większego projektu Intel Rendering Framework, który ma na celu rozwój narzędzi programowej wizualizacji obliczeń naukowych SDVis (Software Defined Visualization), obejmujących bibliotekę ray tracing Embree, system fotorealistycznego renderowania GLuRay, bibliotekę do eliminacji szumów w obrazach oidn (Open Image Denoise) oraz system programowej rastoryzacji OpenSWR. Kod jest napisany w języku C++ i opublikowany na licencji Apache 2.0.

OSPRay jest głównie ukierunkowany na zastosowanie w interaktywnych aplikacjach do renderowania scen w czasie rzeczywistym. Do symulacji zachowania światła wykorzystywana jest metoda ray tracing. Obsługiwana jest wizualizacja objętościowa oraz na płaszczyźnie, fotorealistyczne oświetlenie globalne uwzględniające fizyczne właściwości materiałów oraz zaawansowane efekty cieniowania (cienie, przezroczystość i cieniowanie 'Ambient occlusion').

OSPRay może działać bez przypisania do GPU, co pozwala na wykorzystanie biblioteki na szerokim zakresie urządzeń, od stacji roboczych po węzły w klastrach obliczeniowych. Aby zapewnić odpowiednią wydajność, aktywnie wykorzystuje wielowątkowość oraz wektoryzację na podstawie instrukcji SIMD, takich jak Intel SSE4, AVX, AVX2 i AVX-512 (do działania OSPRay wymagana jest co najmniej obsługa SSE4.1).

Renderowanie może być rozproszone na kilka węzłów klastra (obsługiwane przez MPI), co na przykład pozwala na wykorzystanie OSPRay do organizowania renderowania obrazów o bardzo wysokiej rozdzielczości na ścianach wideo, gdzie pojedynczy obraz jest tworzywany z zestawu oddzielnych paneli LCD. Na przykład działanie OSPRay zostało zaprezentowane na ekranie kompozytowym Stallion, składającym się z 80 30-calowych monitorów (łączna rozdzielczość 40960×8000 lub 328 megapikseli) obsługiwanym przez klaster z 40 serwerów 6-rdzeniowymi CPU opartymi na mikroarchitekturze Intel Sandy Bridge.

Wprowadzone zmiany:

  • Wprowadzono eksperymentalną funkcję wykorzystania GPU Intel Xe (serie Intel Arc Flex i Max) do przyspieszania śledzenia promieni (w poprzednich wersjach OSPRay śledzenie promieni wykonywano tylko na CPU). Obsługa GPU została zrealizowana za pomocą warstwy SYCL, która umożliwia tworzenie heterogenicznych aplikacji w języku C++ (DPC++ — Data Parallel C++). Nie wszystkie funkcje renderowania są jeszcze dostępne podczas używania nowego urządzenia „gpu”, na przykład, obecnie nie obsługiwane są cięcie, rozmycie i fragmentaryczne generowanie gładkich powierzchni (Subdivision).
  • Dodano niejawne indeksowanie geometrii siatki poligonowej.
  • Dodano wsparcie dla przekazywania własności tymczasowymi buforami.
  • Przeprowadzono optymalizację modułu MPI, zrealizowaną dzięki nowemu zintegrowanemu narzędziu do monitorowania wydajności.
  • Zoptymalizowano wypełnienie gradientowe w renderze SciVis.
  • W API wprowadzono zmiany, które naruszają zgodność. Zakończono wsparcie dla przestarzałych parametrów i wywołań.
  • Podniesiono wymagania dotyczące minimalnych wersji zależności: Embree 4.3.0, Open VKL 2.0.0, Open Image Denoise 2.1.0, ISPC 1.21.1 i rkcommon v1.12.0.

Intel wypuścił silnik rozproszonego śledzenia promieni OSPRay 3.0.
Intel wypuścił silnik rozproszonego śledzenia promieni OSPRay 3.0.


Źródło: opennet.ru
Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster