[x]
Вход
.NET
AMD
ATI
BLAS
bruteforce
brute force
CUDA
GPGPU
gpgpu.ru
GPU Gems
Larrabee
MapReduce
MD5 crack
N-body
Nexus
NVidia
NVidia 8800
NVidia CUDA
NVidia G200
NVidia GTX280
NVidia Nexus
NVidia Tesla
OpenCL
search
signal processing
Sort
sparse matrices
Stream SDK
VISPL
VMWare
web
ВМиК МГУ
Москва
администрирование сайта
бенчмарки
блогосфера
вычисления
конкурсы
курсы
новости сайта
обработка изображений
подбор паролей
поиск
презентации
программирование GPU
работа
разное
сортировка
фильтрация трафика
численные методы
Navigation
Cвежие комментарии
-
1 week 4 days ago
-
3 weeks 1 day ago
-
3 weeks 2 days ago
-
3 weeks 2 days ago
-
3 weeks 2 days ago
-
3 weeks 5 days ago
-
4 weeks 3 days ago
-
4 weeks 6 days ago
-
5 weeks 1 day ago
-
5 weeks 1 day ago
Новое на форуме
Популярно
- Форумы NVidia CUDA: обзор за май (15,640)
- Как начать с самого начала работу с CUDA (13,083)
- GPGPU и видеокарты AMD (11,170)
- NVidia GTX 280, Tesla T10P (10,146)
- SGEMM на видеокарте и CPU, серия 6 (9,813)
Дело в том, что в выражении могут быть вызовы функций, описанных в этом же выражении (задача из области Genetic Programming, поэтому буду называть такие функции так, как их принято называть в этой области - Automatically Defined Functions или ADFs).
Пример такого выражения:
X X + 2 - ADF0 arg0 arg0 *
Это означает вот что: ADF0(X + X - 2), где ADF0 имеет один аргумент arg0 и возвращает его квадрат (arg0 * arg0). Таких функций в выражении может быть скажем до пяти, аргументов у каждой может быть скажем тоже до пяти, кроме того, ADF со старшим номером может вызывать ADF с младшим номером (ADF2(ADF1(ADF0(arg0)))) сколько угодно много. Обращать внимание на возможность наличия ADFs не надо - они не меняют задачу принципиально - но объясняют, почему на некоторых выражениях максимальная глубина стека может быть 60-70 элементов.
Я могу варьировать макс глубину стека перед запуском кернела, предварительно попробовав на зуб выражения на одном тест кейсе на CPU, далее, в зависимости от требуемой shared mem на поток (которая определяется максимальной возможной глубиной), потоков может быть от 32 до 160. Пытаюсь я запустить как можно больше потоков потому, что при 32 потоках в текущей имплементации всё работает существенно медленнее, чем при 160.
Моё мыло: babylon73@mail.ru. Если Вы бросите туда тестовое сообщение, то я могу отослать весь вычислительный код, он не сильно здоровый, но даст полную картину. Обсуждение же можно (и думаю нужно) продолжить тут - может быть полезным многим.