Инициатива Коллективного Tuning является общественной инициативой по инициативе начат Григорию Фурсин разработать бесплатную совместную с открытым исходным кодом инструменты исследования с единой API для кода и архитектуры характеризации, оптимизации и совместного проектирования. Это позволяет обмениваться тестами, наборами данных и случаями оптимизации от сообщества в открытом репозитории оптимизации через унифицированные веб-службы для прогнозирования лучших оптимизаций или архитектурных проектов (при условии, что в репозитории собрано достаточно информации от нескольких пользователей). [1] [2]Использование общих инструментов исследований и разработок должно помочь повысить качество и воспроизводимость исследований кода, проектирования и оптимизации архитектуры, поощряя инновации в этой области. Этот подход помог организовать оценку артефактов на нескольких конференциях, спонсируемых ACM, для поощрения обмена артефактами и проверки экспериментальных результатов из принятых статей. [3]
Инструменты и репозиторий включают:
- База данных коллективной оптимизации : открытый репозиторий для обмена случаями оптимизации от сообщества, предоставления веб-сервисов и плагинов для анализа данных коллективной оптимизации и прогнозирования оптимизации программ на основе статистических методов и методов машинного обучения, а также повышения качества и воспроизводимости компилятора (и исследования архитектуры)
- Предиктор оптимизации программ на основе машинного обучения онлайн : предлагает факторы, улучшающие оптимизацию, такие как время выполнения, размер кода и время компиляции, на основе сходства между программами (функциями программ).
- Инфраструктура непрерывной коллективной компиляции : автоматизирует и распространяет итеративное исследование больших пространств оптимизации, ориентированное на обратную связь, несколькими пользователями.
- Интерактивный интерфейс компиляции : открывает и преобразует производственные компиляторы в стабильные интерактивные исследовательские инструменты, используя систему подключаемых модулей, управляемую событиями, чтобы избежать разработки новых исследовательских компиляторов с нуля.
- Коллективный эталонный тест с несколькими наборами данных : дает возможность реалистичного эталонного тестирования и исследования итеративной компиляции и адаптации во время выполнения.
- Universal Adaptation Framework : обеспечивает адаптацию во время выполнения и оптимизацию статически скомпилированных программ для гетерогенных многоядерных архитектур.
Новая версия этих инструментов с открытым исходным кодом для поддержки совместных и воспроизводимых экспериментов ( Коллективные знания ) была выпущена в 2015 году.
База данных коллективной оптимизации
Database Collective Optimization является открытым хранилищем для того, чтобы производить обмен тестов , наборов данных и случаев оптимизации от сообщества, предоставлять веб - сервисы и плагины для анализа данных по оптимизации и прогнозирования преобразований программ или более аппаратных конструкций для многих объективных оптимизаций на основе статистической и машины методы обучения при условии, что в репозитории собрано достаточно информации от нескольких пользователей. [4]
Функциональность
База данных коллективной оптимизации также предназначена для повышения качества и воспроизводимости исследований в области проектирования, описания и оптимизации кода и архитектуры. Он включает в себя онлайн-предсказатель оптимизации программ на основе машинного обучения [5] [6], который может предлагать прибыльные оптимизации для уменьшения времени выполнения программы, размера кода или времени компиляции на основе сходства между программами. База данных коллективной оптимизации - важная часть Инициативы коллективной настройки [1] [2], которая занимается разработкой инструментов НИОКР с открытым исходным кодом для совместных и воспроизводимых исследований вычислительных систем.
Рекомендации
- ^ a b Григорий Фурсин . Коллективная инициатива настройки: автоматизация и ускорение разработки и оптимизации вычислительных систем. Материалы саммита GCC'09, Монреаль, Канада, июнь 2009 г. ( ссылка )
- ^ a b Переосмысление оптимизации кода для мобильных устройств и многоядерных процессоров , InfoWorld, июль 2009 г. ( ссылка )
- ^ Оценка артефактов для конференций компьютерных систем
- ^ Григорий Фурсин и Оливье Темы. Коллективная оптимизация . Материалы Международной конференции по высокопроизводительным встроенным архитектурам и компиляторам (HiPEAC 2009), Пафос, Кипр, январь 2009 г. ( ссылка )
- ^ Оригинальная служба прогнозирования оптимизации компилятора на cTuning.org : cTuning.org/cpredict
- ^ Портал на основе коллективных знаний для совместного тестирования и оптимизации возникающих рабочих нагрузок на cknowledge.io