Я работал над созданием библиотеки «умного пейджинга» для моих проектов OpenCL.В основном это включает проверку:
- Количество устройств
- Размеры уровней памяти каждого из них
- Наибольшая мощность буфера двух размеров, который будет соответствовать всем устройствамгруппа
- Наибольшая мощность буфера двух размеров, который будет взаимодействовать между хостом и устройствами
- Наибольшая мощность буфера двух размеров будет соответствовать самым большим устройствам.
- Различные другие вещи, чтобы использовать оставшуюся память асинхронно
- Различные другие вещи, слишком общие, чтобы перечислять
Эти результаты определяют аспекты размера страницы, времени и т. Д. Это просточто я придумал с макушки головы.
Существуют ли какие-либо полезные парадигмы, архитектуры или другие соглашения, которые уже обеспечивают эффективную подкачку страниц, ИЛИ есть ли другие свойства, на которые я должен обратить внимание или какие-либо из этих неадекватных / не относящихся к делу?