Как быстро объединить отсортированные подмножества массива до 4096 32 -битных чисел с плавающей запятой на современном процессоре (SSE2+ )x86?
Предположим следующее:
- Размер всего набора не более 4096 предметов
- Размер подмножеств открыт для обсуждения, но предположим, что первоначально между 16 -256
- Все данные, используемые при слиянии, предпочтительно должны помещаться в L1
- . Размер кэша данных L1 составляет 32 КБ. 16К уже использовано для самих данных,так что у вас есть 16К для игры
- Все данные уже находятся в L1 (с максимально возможной степенью достоверности)-его только что прооперировали своего рода
- Все данные выровнены по 16 -байтам
- Мы хотим попытаться минимизировать ветвление (по понятным причинам)
Основные критерии выполнимости :быстрее, чем в -L1 LSD сортировка по основанию.
Мне было бы очень интересно узнать, знает ли кто-нибудь разумный способ сделать это с учетом вышеуказанных параметров!:)
задан awdz9nld 18 July 2012 в 22:35
поделиться