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