LINUX.ORG.RU

NVIDIA CUDA 4.0 и CUDA-GDB

 ,


0

1

Состоялся релиз NVIDIA CUDA 4.0. Также можно отметить релиз CUDA-GDB. Далее - текст из официальной русскоязычной новости.

Набор инструментов NVIDIA CUDA 4.0 был создан, чтобы упростить параллельное программирование и позволить еще более широкому кругу разработчиков портировать свои приложения на GPU. Основные возможности новой архитектуры:

  • Технология NVIDIA GPUDirect™ 2.0 обеспечивает равноправную связь между GPU в рамках одного сервера или рабочей станции, что упрощает и ускоряет мультипроцессорное программирование и работу приложений.
  • Унифицированная виртуальная адресация (UVA) организует единое адресное пространство для основной системной памяти и памяти GPU, что делает параллельное программирование еще быстрее и проще.
  • Библиотеки примитивов Thrust C++ - набор алгоритмов C++ с открытым кодом для параллельных расчетов и структур данных, которые упрощают программирование для разработчиков на C++. Thrust ускоряет стандартные операции, такие как параллельное хранение, в 5-100 раз по сравнению с библиотеками Standard Template Library (STL) и Threading Building Blocks (TBB).

Другие функции и возможности:

  • интеграция MPI с приложениями CUDA – Модификация MPI, например, OpenMPI, автоматически пересылает данные в память GPU и обратно по Infiniband, когда приложение посылает или получает запрос от MPI.
  • Многопоточность и GPU – Многочисленные потоки с CPU хоста могут обмениваться контекстом на одном GPU, что упрощает совместное использование GPU многопоточными приложениями.
  • Использование нескольких GPU одним потоком с CPU – Один поток с CPU хоста может иметь доступ ко всем GPU в системе. Разработчики могут легко распределить работу между несколькими GPU для таких задач, как обмен «ореолами» в приложениях.
  • Новая библиотека NPP для обработки изображений и компьютерного видения – Большой набор операций по трансформации изображения, которые позволяют быстро разрабатывать приложения обработки изображений и компьютерного зрения.

Новые и улучшенные возможности:

  • Автоматический анализ производительности в Visual Profiler
  • Новые функции в cuda-gdb и поддержка MacOS
  • Поддержка функций C++, таких как new/delete и виртуальные функции
  • Новый бинарный дизассемлер на GPU

Подробности о новых возможностях можно узнать на странице с русскоязычной новостью. В ней не сказано о том, что состоялся релиз, потому что в тот день существовал ещё только кандидат в релизы. Англоязычная новость, в свою очередь, объявляет релиз, гораздо короче (просто список терминов без разъяснений) и подробнее.

Русскоязычная новость

>>> Англоязычная новость о релизе

★★★★★

Проверено: JB ()
Последнее исправление: shimon (всего исправлений: 2)
Ответ на: комментарий от northerner

Если «прибарахлит» - прощай хорошие видеокарты, прощай вычисления на GPU, привет тормозная 2D графика...

Eddy_Em ☆☆☆☆☆
()

>Англоязычная новость, в свою очередь, объявляет релиз,
как-то коряво

и компьютерного зрения

что это? за нами следят?

insider ★★★
()
Ответ на: комментарий от Ubuntu1104

> инвидя впереди планеты всей.
То-то они частенько выпускают на рынок бракованные видеокарты. ОЙимд фо эвер.

Phaser
()

Поддержка функций C++, таких как новый/удалить

Google Translate? Или просто перевод человека, не знающего ничего о C++ и программировании вообще?

Deleted
()

Thrust ускоряет стандартные операции, такие как параллельное хранение, в 5-100 раз

Аффтар, если ты не программист, зачем пишешь новости о программировании? Первый пункт вообще шедевр, минуту читал эту бессмыслицу и соображал где ошибка: при чем здесь рабочие станции и сервера, GPU на видеокарте!

ненужно - OpenCL наше фсио!!!!!

+1

anonymous
()

Поддержка функций C++, таких как новый/удалить

#подключить <строка>
#подключить <ДругойКласс.h>
//-----------------------------------------------------
Класс
{
личный:
 ДругойКласс* другойКласс;
защищённый:
открытый:
 Класс(стнд:строка надпись)
 {
  другойКласс = новый ДругойКласс(надпись);
  возврат;
 }
 ~Класс(пустой)
 {
  удалить другойКласс;
  возврат;
 }
};
//--------------------------------------------------------
целое главная(целое аргкол,символ** аргвект)
{
 Класс класс("Убейте переводчика!!!");
 возврат 0;
}
one_more_hokum ★★★
()

> параллельное хранение
facepalm.pcx.gz

x4DA ★★★★★
()
Ответ на: комментарий от vada

This code sample computes the sum of 100 random numbers on the GPU.

#include <thrust/host_vector.h>
#include <thrust/device_vector.h>
#include <thrust/generate.h>
#include <thrust/reduce.h>
#include <thrust/functional.h>
#include <cstdlib>

int main(void)
{
  // generate random data on the host
  thrust::host_vector<int> h_vec(100);
  thrust::generate(h_vec.begin(), h_vec.end(), rand);

  // transfer to device and compute sum
  thrust::device_vector<int> d_vec = h_vec;
  int x = thrust::reduce(d_vec.begin(), d_vec.end(), 0, thrust::plus<int>());
  return 0;
}

x4DA ★★★★★
()

Ващета за такой текст новости надо ТС в бан на месяц и две серых звезды. Одна всего? В долг значит.

vada ★★★★★
()
Ответ на: комментарий от x4DA

Это в куде такое появилось?? Твари, они украли мое изобретение, которое я года два назад сделал. Только у меня типы назывались array_host<...> и array_device<...>. Теперь кучу кода на помойку придется выкинуть.

Reset ★★★★★
()

Объясните, зачем нужна эта КУДА, если есть ОпенЦл? Это специально для буратин, которые хотят посильней попасть в vendor lock-in?

gaga
()
Ответ на: комментарий от AlexVR

Тьфу ты, понял: определение ядра и его вызов происходят в классе thrust...

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Вот только любителям openCL этого не понять :)

OpenCL - для массовых проектов на будущее.

CUDA - для тех кому надо считать сейчас и быстро.

AlexVR ★★★★★
()
Ответ на: комментарий от anonymous

Думаю, что поправлять не будут. До сих пор не поправили идиотизм вида «обратный инжиниринг».

Хорошо, что не «Колхозно-Тракторинг».

Boboms ★★
()
Ответ на: комментарий от one_more_hokum

Да нет, причём тут вообще этот долбанный 1С? Там чистой воды порнография, а у вас «в тексте» довольно прикольно и читабельно получилось.

Boboms ★★
()
Ответ на: комментарий от AlexVR

Если бы на openCL было писать так же просто, как на CUDA, то явно перевес был бы в сторону первого (а то и вообще nVidia куду бы не пилило).

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Да не толсто, я не занимаюсь программированием GPU и знаю о нем только по респектабельным научным статьям с лора и прочих слешдотов. И поскольку из них не сильно-то ясно, что в нем такого хорошего, что позволяет разработчику положить на половину существующих карточек, то и возникает такой вопрос.

gaga
()
Ответ на: комментарий от gaga

из них не сильно-то ясно, что в нем такого хорошего, что позволяет разработчику положить на половину существующих карточек

А я читал нормальные научные статьи. И ни разу не видел, чтобы кто-нибудь использовал openCL для быстрых вычислений. Используют CUDA.

А про

положить на половину существующих карточек

- все настолько привыкли, что ATI производит дерьмовые карточки, что когда карточки стали нормальными (если не врут), привычка все равно осталась. И недоверие.

И еще раз: код на openCL в разы объемнее и запутаннее кода на CUDA.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Boboms

> довольно прикольно и читабельно получилось

Только вот не «писабельно». :-)

one_more_hokum ★★★
()
Ответ на: комментарий от Eddy_Em

> Если «прибарахлит» - прощай хорошие видеокарты, прощай вычисления на GPU, привет тормозная 2D графика...

А ATI/AMD не предоставляет альтернативы? В смысле интересно именно вычисления на GPU.

Evgueni ★★★★★
()
Ответ на: комментарий от Evgueni

Предоставляет, но я уже говорил: во-первых, openCL - жуткое уродливое нечто; во-вторых: притчу о пастухе-брехуне помните? Вот поэтому к ATI многие до сих пор относятся негативно.

Eddy_Em ☆☆☆☆☆
()

С OpenCL ситуация пока неясная. С одной стороны вроде как и стандарт, а с другой стороны те, кто хотел написать код под гпу уже его написали на куде. Также я пока не видел вариантов ати для кластеров. Ибо например для того же крея делают блейда - материнская плата, на которой уже распаяна пара тесел.
Тот же IBM тоже обещал компилятор OpenCL под Cell. Но воз и ныне там. Правда intel разродилась компилятором под OpenCL для своих процов, но пока только виндовс.
Еще, когда то на сайте кроноса пробегала новость про OpenCL для армов. А также кто пилил транслятор VHDL в OpenCL (это для fpga).

Gromacs, namd, ansys & etc используют cuda.

b_a
()
Ответ на: комментарий от x4DA

Который однако забросили, насколько я знаю на данный момент основной язык программирования ATI карточек на данный момент это OpenCL

b_a
()

И каким боком это относится к линапсу?

startApp
()
Ответ на: комментарий от b_a

> транслятор VHDL в OpenCL (это для fpga).
или OpenCL в VHDL?

Gromacs, namd, ansys & etc используют cuda.

В ansys hfss, например, даже за ещё одно ядро цпу нужно выкладывать вроде бы астрономическую сумму. Сколько ж надо платить за возможность использования гпу?

Не всё ли это — пустой маркетинговый выхлоп, так как нвидиевские горячие «пирожки», с парой вычислительных блоков и over 9000 кэшей и шин, на самом деле (см. bitcoin) ни на что не годны?

wstorm ★★
()
Ответ на: комментарий от Eddy_Em

>код на openCL в разы объемнее и запутаннее кода на CUDA.
Блин, и почему открытые стандарты так часто оказываются повернутыми жопой к пользователю..

gaga
()
Ответ на: комментарий от Boy_from_Jungle

у меня скоро такой будет
у меня дисер на CUDA завязан
разработку буду, по привычке, на github-е держать

TERRANZ ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.