У меня есть отсортированный набор массивов неподписанных шорт, например:OpenCL для поиска набора?
12, 222, 333, 444, 555
78, 456, 123, 987, 231
Я хочу, чтобы найти первые или все из этих массивов, которые соответствуют набору данных предикатов: например: [IDX [1] = 222 , idx [3] = 444], будет соответствовать первой строке, так как значение в индексе 1 равно 222, а значение в индексе 3 равно 444.
Является ли это задачей, когда я увижу преимущество от запуска поиска по GPU через OpenCL? Объем данных от 1 до 2 сотен миллионов предметов.
Спасибо, вы можете выйти из ранней формы такой операции на gpu? Например: если мне нужно только первое совпадение – jdoig
@jdoig: К сожалению нет, вы не можете отменить все потоки в блоке потока, они должны выполняться до завершения. Вы можете попытаться получить завершение глобальной передачи сигналов и проверить его на каждом этапе K. В любом случае, если у вас хороший GPU, вы получите гораздо более быстрое время выполнения, чем на CPU. – Tudor
Еще раз спасибо Tudor. Не могли бы вы указать мне ссылку на технику, которую вы там упомянули? (завершение сигнализации посредством глобальной переменной). Я беспокоюсь, что если первое совпадение находится в индексе 1000, а последнее - в 150 миллионов долларов, тогда маршрут OpenCL может оказаться не столь эффективным и/или вернуть более много данных, чем мне действительно нужно (и я слышу перемещение данные на/из карты являются медленной частью) – jdoig