Member
Статус: Не в сети Регистрация: 23.02.2013 Откуда: г. Орел
SerVal-2 а вы задумывались что в х64 битной винде работают 32 битные программы? и есть например директория систем32? зачем? правильно система х64 может исполнять и 32 битные приложения не нужно переписывать или компилировать новую х64 сборку либ если в них нет необходимости. ... как то так. да все это сложно осознать но я почему то думал что в архитектурах и в том числе х86-64 (именно так а не как иначе пишется) еще в 2008/10 разобрались но нет.
// вообще "dynamic link library" (а внутри кабов именно они) по сути загружаемая внутрь программы части кода - они прекрасно даже 32 битные работают с 64 битными программами. пересборка пересборок неактуальна.
_________________ Мертвый киберпанк с улыбкой мутанта... (:
Member
Статус: Не в сети Регистрация: 23.02.2013 Откуда: г. Орел
SerVal-2 если в ддл нет 64 битных инструкций хоть собери с ключом 32 бита хоть в 64 никакого ускорения не будет. при этом 64 бита не всегда дают ускорение - наоборот типы переменных важно задавать подходящие для хранение информации и если везде использовать 64 бита это окажет только негативный эффект как минимум затраты памяти возрастут.
SerVal-2 писал(а):
мне иногда их и компилить приходится, а не только задумываться. И для win32 и для win64.
и сколько я скомпилировал в том числе собственного кода... в том числе даже под линукс пробовал писать. вопроса это не меняет - без расширения длинны переменных компилировать библиотеки в 64 бита не имеет смысла.
_________________ Мертвый киберпанк с улыбкой мутанта... (:
Member
Статус: Не в сети Регистрация: 17.02.2006 Откуда: Москва, Ясенево
mag_ai писал(а):
без расширения длинны переменных компилировать библиотеки в 64 бита не имеет смысла.
Нее.. Вы кое что упустили из виду. Код один и тот же: vector<float> vA, vB; float fс; vB = multiply(vA, fс); однако. скомпилённый для win32 и x64 будет выполняться с разной скоростью. (быстрее, есессно, для x64).
Member
Статус: Не в сети Регистрация: 23.02.2013 Откуда: г. Орел
SerVal-2 векторный код отдельная пьеса - его можно исполнить разными способами в плоть до отправки на регистры и получения результата (как в принципе и весь код). при этом я не понимаю почему у вас код исполняется быстрей если любой векторный код компилятор направляет сразу на векторный блок в обход остального (пробовать сейчас не буду верю на слово. это на всех компиляторах?).
_________________ Мертвый киберпанк с улыбкой мутанта... (:
Так, цена в 2700 евро($3000) только меня расстроила? Такое бурное обсуждение карты, которую никто из читающих эту тему не купит. Я и за штуку не куплю, хотя, если сделают в 3 раза быстрее чем 980Ti, придется почку продавать.
Dimka2000 где в статье написано что это розничная цена потребительских вариантов? Чукча не читатель?
А розничная какая будет? Если аж в 3 раза меньше, то все равно это уже штука зелёных.
Добавлено спустя 24 минуты 48 секунд:
SerVal-2 писал(а):
без расширения длинны переменных компилировать библиотеки в 64 бита не имеет смысла.
Нее.. Вы кое что упустили из виду. Код один и тот же: vector<float> vA, vB; float fс; vB = multiply(vA, fс); однако. скомпилённый для win32 и x64 будет выполняться с разной скоростью. (быстрее, есессно, для x64).
Я могу ошибаться, но мне кажется в win32 компилятор использует для float 32 бита, а в x64 float - 64 бита. Скорость, скорее всего, будет одна и та же. Другое дело, если нужна высокая точность, то в win32 придется использовать double(64bit) вместо float(32bit), а в x64 такую же точность имеет float (64bit). В этом случае операции в x64 будут выполняться почти вдвое быстрее, чем в win32 (float vs double). Хотя, это сильно зависит от компилятора.
Member
Статус: Не в сети Регистрация: 17.02.2006 Откуда: Москва, Ясенево
Dimka2000 писал(а):
но мне кажется в win32 компилятор использует для float 32 бита, а в x64 float - 64 бита
Так раньше было... пока всем это не надоело, поскольку создавало жуткую неразбериху. На сегодняшний день решили, чтобы типы данных во всех системах были одинаковыми: int - 32 бита хоть в win32, хоть в win64. float - 32 бита, double 64 бита.
Member
Статус: Не в сети Регистрация: 01.06.2011 Откуда: Кривий Рiг UA Фото: 1
aasheron писал(а):
А архитекрутра GCN получает"буст" от "асинхронности" за счет того, что она сама по себе плохо параллелит задачи и ей нужны такие "костыли".
что-то подобное я уже слышал, на форуме Нвидии по поводу того бенча Ashes of the Singularity. Архитектура параллелит задачи на уровне SM. Но вот с Ферми картинка выглядит и правда плохо, сейчас Хуанг банально прокатит меня с WDDM 2.0 драйверами и не будет мне дх12, и соснольковый грофон 2007 года с мыльной ТП Ларкой у меня теперь вообще не пойдёт
Tovbot писал(а):
Иными словами на аппаратном уровне поддержка распараллеливания задач есть, но в играх она не используется. Почему?
потому что дх11 даже на ящике Майков не даёт, ни распараллелить рендер, ни асинх шейдеров. На аппаратном уровне и у АМД всё есть, ставится Мантле и она начинает задействоваться статья кстати http://wccftech.com/nvidia-amd-directx- ... plained/4/ Кеплеры неплохо бустятся на 250% Фура на 200%, Титаникс проседает на 3 fps , а 260Х так и остаётся днищем, впрочем там и проц несколько... ээээм специфический. Кажется LLC у него нет. Объяснили тем, что АМД вместо теста асинх шейдеров умудрилась затестить api overhead, вот же индусы работают у них в штате
_________________ По поводу АМД можно сказать, что... http://images.vfl.ru/ii/1466552059/06f0b3de/13108371.gif
потому что дх11 даже на ящике Майков не даёт, ни распараллелить рендер, ни асинх шейдеров. На аппаратном уровне и у АМД всё есть, ставится Мантле и она начинает задействоваться
Не угадал, не поэтому. Там же написано почему - такова архитектура Кеплера. В графическом режиме там включается один графический поток, а в режиме вычислений - 32 вычислительных. Но включить и то и то одновременно - нельзя. Поэтому распараллеливание нагрузки на Кеплере есть только в режиме вычислений, который для рендера картинки не годится. И именно поэтому Directx 12 Кеплеру не поможет параллелить рендер или использовать асинх шейдеры - некуда параллелить. Если провести аналогию с процессорами, то с точки зрения графики Кеплер тупо одноядерный, без гипертрединга:)). А полученный буст на Кеплере возникает не за счет распараллеливания задач на GPU, а за счет распараллеливания нагрузки на процессор. У AMD же вычислительные возможности активны и при рендере картинки, поэтому их можно задействовать. И тут уже как раз может помочь Directx 12.
Member
Статус: Не в сети Регистрация: 05.08.2011 Откуда: Санкт-Петербург Фото: 21
SerVal-2 писал(а):
Вот когда Микрософт повычистит и OS 32-х разрядные костыли(а всё к этому идёт), тогда и 64-х битные программы будут в 3-4 раза быстрее, а не просто шильдик.
Т.е. в Linux x64 скомпиленный на вашем компе 64-битным компилятором ну прям в разы быстрее своей же 32-битной версии, сказочник. 64-битные вычисления дают прирост в математике и собственно все. Я не глядя в гугл могу сказать что в повседневности комп гоняет 16-битные регистры чаще чем 32-битные не говоря уже о 64-битных.
Заблокирован Статус: Не в сети Регистрация: 18.01.2017
Airotciv писал(а):
Т.е. в Linux x64 скомпиленный на вашем компе 64-битным компилятором ну прям в разы быстрее своей же 32-битной версии, сказочник. 64-битные вычисления дают прирост в математике и собственно все. Я не глядя в гугл могу сказать что в повседневности комп гоняет 16-битные регистры чаще чем 32-битные не говоря уже о 64-битных.
Абсолютно верно, переход на 64 разряда дает прирост ч2 только при вычислении сложных уравнений в мачкаде. В остальном - разницы не увидишь даже.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 37
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения