[x]
Вход
Amazon
AMD
ATI
brute force
bruteforce
cloud
CUDA
GPGPU
gpgpu.ru
GPU Gems
Intel
Larrabee
Linpack
MapReduce
MD5 crack
Nexus
NVidia
NVidia 8800
NVidia CUDA
NVidia G200
NVidia GTX280
NVidia Nexus
OpenCL
Parallel Nsight
signal processing
sparse matrices
Stream SDK
VISPL
VMWare
web
ВМиК МГУ
МГУ
Москва
Т-Платформы
Физфак МГУ
бенчмарки
блогосфера
вычисления
конкурсы
курсы
новости сайта
обработка изображений
подбор паролей
поиск
программирование GPU
работа
разное
сортировка
фильтрация трафика
численные методы
Navigation
Cвежие комментарии
-
1 week 11 hours ago
-
1 week 1 day ago
-
1 week 1 day ago
-
1 week 1 day ago
-
1 week 1 day ago
-
1 week 1 day ago
-
1 week 1 day ago
-
1 week 4 days ago
-
3 weeks 3 days ago
-
3 weeks 5 days ago
Новое на форуме
Популярно
- Как начать с самого начала работу с CUDA (33,823)
- Форумы NVidia CUDA: обзор за май (31,815)
- GPGPU и видеокарты AMD (18,181)
- NVidia GTX 280, Tesla T10P (15,756)
- SGEMM на видеокарте и CPU, серия 6 (14,895)
Дело в том, что в выражении могут быть вызовы функций, описанных в этом же выражении (задача из области 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. Если Вы бросите туда тестовое сообщение, то я могу отослать весь вычислительный код, он не сильно здоровый, но даст полную картину. Обсуждение же можно (и думаю нужно) продолжить тут - может быть полезным многим.