Я собираюсь распараллелить алгоритм локального поиска на CUDA для решения некоторой проблемы оптимизации. Задача очень сложная, поэтому размер практически решаемых задач невелик. Меня беспокоит то, что количество потоков, запланированных для запуска в одном ядре, недостаточно для получения какого-либо ускорения на GPU (даже при условии, что все потоки объединены, не имеют конфликтов банков, неразветвлений и т. Д.). Допустим, ядро запущено на 100 потоков. Разумно ли ожидать прибыли от использования GPU? Что делать, если количество потоков 1000? Какая дополнительная информация необходима для анализа этого дела?