Zbiorowa inicjatywa tuningowa
Collective Tuning Initiative to kierowana przez społeczność inicjatywa zapoczątkowana przez Grigorija Fursina w celu opracowania bezpłatnych, opartych na współpracy narzędzi badawczych typu open source z ujednoliconym interfejsem API do charakteryzowania, optymalizacji i współprojektowania kodu i architektury. Umożliwia to dzielenie się testami porównawczymi, zestawami danych i przypadkami optymalizacji od społeczności w otwartym repozytorium optymalizacji za pośrednictwem ujednoliconych usług sieciowych w celu przewidywania lepszych optymalizacji lub projektów architektury (pod warunkiem, że w repozytorium zebrano wystarczającą ilość informacji od wielu użytkowników). Korzystanie ze wspólnych narzędzi badawczo-rozwojowych powinno przyczynić się do poprawy jakości i powtarzalności badań nad kodem, projektowaniem architektury i optymalizacją, zachęcając do innowacji w tej dziedzinie. Takie podejście pomogło ustanowić ocenę artefaktów na kilku sponsorowanych przez ACM , aby zachęcić do dzielenia się artefaktami i walidacji wyników eksperymentów z zaakceptowanych artykułów.
Narzędzia i repozytorium obejmują:
- Collective Optimization Database : Otwarte repozytorium do dzielenia się przypadkami optymalizacji od społeczności, dostarczania usług sieciowych i wtyczek do analizowania zbiorczych danych optymalizacyjnych i przewidywania optymalizacji programu na podstawie technik statystycznych i uczenia maszynowego oraz poprawy jakości i odtwarzalności kompilatora (i badań nad architekturą)
- Predyktor optymalizacji programu online oparty na uczeniu maszynowym : sugeruje czynniki poprawiające optymalizację, takie jak czas wykonania, rozmiar kodu i czas kompilacji, w oparciu o podobieństwa między programami (funkcje programu)
- Continuous Collective Compilation Framework : Automatyzuje i dystrybuuje iteracyjne eksploracje dużych przestrzeni optymalizacyjnych przez wielu użytkowników
- Interaktywny interfejs kompilacji : otwiera i przekształca kompilatory produkcyjne w stabilne interaktywne zestawy narzędzi badawczych za pomocą systemu wtyczek sterowanych zdarzeniami, aby uniknąć opracowywania nowych kompilatorów badawczych od zera
- Zbiorczy test porównawczy z wieloma zestawami danych : umożliwia realistyczne testy porównawcze i badania nad iteracyjną kompilacją i adaptacją w czasie wykonywania.
- Universal Adaptation Framework : umożliwia adaptację i optymalizację statycznie kompilowanych programów w czasie wykonywania dla heterogenicznych, wielordzeniowych architektur.
nowa wersja tych narzędzi typu open source do wspierania wspólnych i powtarzalnych eksperymentów ( wiedza zbiorowa ).
Zbiorowa baza danych optymalizacji
Collective Optimization Database to otwarte repozytorium umożliwiające udostępnianie testów porównawczych , zestawów danych i przypadków optymalizacji przez społeczność, udostępnianie usług sieciowych i wtyczek do analizowania danych optymalizacyjnych i przewidywania transformacji programów lub lepszych projektów sprzętowych do wielocelowych optymalizacji w oparciu o dane statystyczne i maszynowe technik uczenia się , pod warunkiem, że w repozytorium zgromadzono wystarczającą ilość informacji od wielu użytkowników.
Funkcjonalność
Collective Optimization Database ma również na celu poprawę jakości i powtarzalności badań nad projektowaniem, charakteryzacją i optymalizacją kodu i architektury. Obejmuje predyktor optymalizacji programu online oparty na uczeniu maszynowym, który może sugerować opłacalne optymalizacje w celu poprawy czasu wykonywania programu, rozmiaru kodu lub czasu kompilacji, w oparciu o podobieństwa między programami. Baza danych Collective Optimization Database jest ważną częścią inicjatywy Collective Tuning Initiative, która opracowuje otwarte narzędzia badawczo- rozwojowe do wspólnych i odtwarzalnych badań nad systemami komputerowymi.