Member
Статус: Не в сети Регистрация: 20.02.2007 Откуда: Москва
itmanager85 писал(а):
что там словил бенчмарк исключительно проблема бенчмарка , а не многоядерных CPU ..
как бы бенчмарк призванный показывать МНОГОЯДЕРНЫЕ ПЛЮСЫ В ВАКУУМЕ . столкнулся с боольшим числом ядер чем смог переварить . ну да . проблема бенчмарка
itmanager85 писал(а):
что касается игр, то вероятно при появлении массовых 128C/256T их тоже найдут чем утилизировать .
ага . фигова туча софта даже 4ре потока нагрузить не может . . хотя казалось бы 4х ядерки уже 10 лет на рынке и уже должны СДЮЖИТЬ .да и консоли - как бы на 8 потоков ( потоки правдо УГ . и по сумме максимом будут бадаться с атомами но в целом их как бы 8 ) на что то нет .
itmanager85 писал(а):
ну так и под CPU есть такие задачи которые линейно зависимы от количества "блоков" (ядер/потоков процессора) ..
а цены на лицензирование софта для серверных многоядерок мягко сказать не способствуют тому чтобы бизнес за них проголосовал - деньгами . в итоге к дикому ржачу . гонка многоядерности сменилась гонкой еффективности в пересчете на ядро и улучшению межядерных связей.. интель это почувствовали первыми. амд пытается на старых методичках выехать . ну ничего . кто то то учится на своих ошибках . кто то нет..будет забавно почитать квартальный отчет амд за 4й квартал . насколько там релиз епика вообще повлияет на выручку. судя по майскому отчету . ни резил зины . ни майнерский ажиотаж . влияния не оказали .
itmanager85 писал(а):
ну так и под CPU есть такие задачи которые линейно зависимы от количества "блоков" (ядер/потоков процессора) ..
тут нада понимать что задачи которые остались на цпу . как бы делятся на подтипы . которые показывают АБСОЛЮТНО РАЗНЫЕ реззультаты на многоядерниках
1. big data - которым лучше 1 поток . но мощный с большим колвом кеша 2. small chunks . которые можно распаралелить . но потребуется отдельный поток который будет собирать результаты . тобиш синхронизировать . и вот тут начинается веселый прон . 3. IO bound задачи которые требуют большой нагрузки на память или шину вывода . этим задачам вообще паралельно на колво ядер . они большую часть времени ждут пока будет нужный пакет .
проблема текущего времени в том что small chunks задачи . сейчас усиленно мигрируют на гпу . потому что на гпу такие задачи рвут абсолютно любой цпу . при гораздо меньшей стоимости . а все остальные задачи- индифферентны к колву ядер .
да есть такой отполированный софт который скейлится неплохо . но до момента пока не упирается в какие то другие вещи .. например 1. в случае с амд . 1-4 ядра - линейная производительность 4-8 ядра - небольшой провал ( изза необзоимости пересылки между CCX и контроллерами памяти на разных нодах ) 8-16- ядра - сплошной провал . если задаче нужно более 8ми ядер . то величина насколько амд сольет интелу прямо пропорциональна колву ядер которые потреует программа.и на скольок потоки друг с другом связаны . на презентации например амд не использовала по которое бы требовало более 8ми потоков за раз . иначе кое где можно было и опозорится .
тобиш скейлится то оно скейлится пока не упирается в архитектуру .
itmanager85 писал(а):
вообще то под GPGPU (opencl/cuda/DirectCompute) задачи пишутся изначально распараллеленными
давайте котлеты отдельно а мух тоже отдельно . речь не о OPENCL а о задачах которые по каким то причинам треюут именно цпу . а не гпу .CL и куда например вообще индифферентны к цпу . если станция затачивается под CL обычно берется самый младший цпу с достаточным колвом линий PCIEX чтобы прилепить побольшье тесел на колво ядер там паралельно
itmanager85 писал(а):
что значит "синхронизированной на потоки" в данном случае не очень понятно , но предположу что "разбитой на потоки программы"
ну давайте проще . да понимаю сами термин сложен ...
возьмем к примеру любую игру
1 поток звук 2. поток физика 3 поток графон 4 поток синхронизации . так как результаты 1-3 потока нада собрать и выдать синхронизированную картинку .
если не сделать синхронизацию то звук может отставать от видео . и тд . также если какой то поток не успел за нужное время выполнить задачу . то остальные потоки - встанут вообще . и вот тут начинаем передавать привет многоядерности .
itmanager85 писал(а):
бред , синхронизация между потоками может требоваться как в GPGPU задачах, так и в CPU ..
в какой степени это влияет на производительность гпу и в какой на цпу ? правильно- минимальное влияние на гпу . и довольно сильное на цпу
Member
Статус: Не в сети Регистрация: 13.12.2005 Фото: 6
itmanager85 писал(а):
было 101 FPS а стало 100 FPS - да потеря потерь ..
Очевидно же, что для серьезной физики потребуется отнять больше ресурсов, кроме того далеко не у всех топовые карточки, да и игрушек, которые показывают 40-60 фпс на топах тоже хватает и поддаваться соблазну запилить графоний покруче разработчики всегда будут - его тупо проще продать, чем физику.
itmanager85 писал(а):
вроде ray tracing'а
Так это - рендеринг, которым и должен заниматься GPU
itmanager85 писал(а):
аналогично и с физикой - из за потери 1% производительности никто на CPU в здравом уме сложную физику переносить не будет
А вот это надо обосновать! Сейчас же физику в основном на цпу и считают. 1% от производительности GTX1080Ti ~100 GFLOPS, при этом пиковая производительность 28 ядерного зиона при использовании AVX2 - более 2 TFLOPS (примерно половина от 1070), это перебор, конечно, но i7-7900X даст ~1 TFLOPS, а теоретический 128-ядерный камень на 3ГГЦ без векторных инструкций выдаст 1,5 TFlops и 12 при их использовании. Я согласен, что сейчас было бы интереснее физику считать на GPU, и если отдать на это 10% - то при использовании 1060 это уже почти половина теоретической пиковой производительности десктопного i7, но уже с кофе - это треть, как два дополнительных ядра и если сейчас для них найти работу не сложно, то при росте числа ядер, если он, конечно, произойдет, будет повод почесать репу.
давайте котлеты отдельно а мух тоже отдельно . речь не о OPENCL а о задачах которые по каким то причинам треюут именно цпу . а не гпу .
вообще то вы вели речь о GPGPU :
mo3ulla писал(а):
специфика зпдпч такова что сам драйвер способен разбить задачу на нужное колво потоков обеспечив максимальную загрузку . всех блоков
и это был ответ на это сообщение - про CPU в нём речи вообще не шло ..
речь шла о том что программы для GPGPU изначально подаются распараллеленными и драйвер GPU при всём желании не смог бы их разбить на потоки (если бы эти программы были однопоточными), а количество потоков задаётся явно (и передаётся драйверу) - ничего разбивать там не требуется ..
mo3ulla писал(а):
ну давайте проще . да понимаю сами термин сложен ...
то что вы описали называется синхронизация потоков , а не "синхронизация на потоки" .. последнего общепринятого термина вообще нету , это ваша бредовая выдумка ..
mo3ulla писал(а):
возьмем к примеру любую игру
1 поток звук 2. поток физика 3 поток графон 4 поток синхронизации . так как результаты 1-3 потока нада собрать и выдать синхронизированную картинку .
если не сделать синхронизацию то звук может отставать от видео . и тд . также если какой то поток не успел за нужное время выполнить задачу . то остальные потоки - встанут вообще . и вот тут начинаем передавать привет многоядерности .
физика и графон вычисляются последовательно на GPU, т.к. чтобы что то отобразить - надо сначала посчитать как оно будет выглядеть (т.е. физику) ..
mo3ulla писал(а):
цпу - требуют изначально разбитой и синхронизированной на потоки программы .
не во всех задачах синхронизация сжирает много ресурсов , ну и как бы - полно задач где она и вовсе не требуется (в объёмах влияющих на производительность) - например, (кодирование видео, рендеринг изображений, архивация).
да и в играх основную часть нагрузки на CPU едва ли составляет синхронизация потоков ..
mo3ulla писал(а):
как бы бенчмарк призванный показывать МНОГОЯДЕРНЫЕ ПЛЮСЫ В ВАКУУМЕ . столкнулся с боольшим числом ядер чем смог переварить . ну да . проблема бенчмарка
вот проблема то - напишут новый бенчмарк , и полетит он на сотнях и тысячах ядер CPU ..
SmaSheR писал(а):
в какой степени это влияет на производительность гпу и в какой на цпу ? правильно- минимальное влияние на гпу . и довольно сильное на цпу
сферических коней в вакууме сложно сравнивать - разные задачи бывают и разные синхронизации и степень их интенсивности требуется .. но конкретно синхронизация видео (графики) и звука - по вычислительным затратам копеешная .. (конкретно для CPU)
если вы человек далёкий от программирования - то могу объяснить на пальцах , даже в первых 3D шутерах (Doom I-II, Duke Nukem 3D) - проблем с синхронизация звука и видео (графики) не было ..
с тех пор производительность CPU выросла в тысячи раз ..
Добавлено спустя 22 минуты 49 секунд:
SmaSheR писал(а):
А вот это надо обосновать! Сейчас же физику в основном на цпу и считают. 1% от производительности GTX1080Ti ~100 GFLOPS,
SmaSheR писал(а):
при этом пиковая производительность 28 ядерного зиона при использовании AVX2 - более 2 TFLOPS (примерно половина от 1070)
нет не половина , а около трети .. и казалось бы при чём тут топовый зион ?
производительность народного (mainstream) i5 - около 100 GFlops ,
только вот есть проблема - GTX1080Ti посчитает за 10 ms на скорости 11.5 TFlops , а i5 - будет корячится всю секунду (т.к. скорость у него - в 100 раз ниже) ..
ну т.е. понятен этот момент ?
на кадр можно выделить максимум 30 ms (при 30 FPS), то что GTX1080Ti посчитает за 5 ms - у i5 уйдёт полсекунды ..
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения