1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

Maya на 2 процессора

Тема в разделе "Maya", создана пользователем Wink05, 23 ноя 2007.

Модераторы: Dark™, Skif
  1. Wink05

    Wink05 Активный участник

    С нами с:
    20.11.2007
    Сообщения:
    130
    Симпатии:
    0
    Баллы:
    11
    Здравствуйте люди. Обнаружил следующую фигню. Когда запускается рендер шерсти и пайнтэхффектов загружено только одно ядро проца. Но если начинается рендер самой картинки (после просчета шерсти и т.д.) загружены оба ядра. В рендере выставлял галочку - использовать все процессоры, но ничего. Хотелось бы просчет волос по времени сократить раза в полтора, есть способ это сделать? Процессор - Tureon 64 x2 1,6ГГц (ноутбуковский)
     
  2. ArtmanUrgus

    ArtmanUrgus Активный участник

    С нами с:
    15.12.2006
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    15
    Способа нет, так алгоритм софта не поддерживает два мультипроц для данного процесса.
     
  3. Wink05

    Wink05 Активный участник

    С нами с:
    20.11.2007
    Сообщения:
    130
    Симпатии:
    0
    Баллы:
    11
    Я знаю, что к некоторым играм есть плагины, чтобы заставить их работать на 2 процессора. У меня WinXP 32 разрядная Maya 8,5. Знаю, что на maya 2008 та же проблема. Может под vista все по максимуму, у кого как.
     
  4. ArtmanUrgus

    ArtmanUrgus Активный участник

    С нами с:
    15.12.2006
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    15
    Вот, вот!!! Под Висту!!! Ты сам даешь ответ!!! Под 64 бита само сабой все одаптировано для мультипроцесоррных систем. А значит - многозадачность распаралелена, и алгоритм поддерживает мультипроцессинг. Однако может и там есть ограничения - например, редер мешей хоть на сто процев, рендер фура - на четыре. Это просто предположение - точно не знаю - врать не стану.
     
  5. Решатель

    Решатель Знаток

    С нами с:
    20.04.2005
    Сообщения:
    1.413
    Симпатии:
    0
    Баллы:
    44
    Вы серьёзно думаете, что кто-то стал бы делать разные алгоритмы для 32 и 64 битных систем в пределах одного и того же сложного пакета?

    "Многозадачность распараллелена"....surep.
     
  6. J-A-G-U-A-R

    J-A-G-U-A-R Активный участник

    С нами с:
    25.01.2007
    Сообщения:
    454
    Симпатии:
    0
    Баллы:
    14
    тут проблема не в пакете и его алгоритмах, но разрядность под которую он заточен - влияет, а в адаптированности операционной системы и ядра для работы с отпеределнными операциями Х-разрядного пакета. Разные процессоры разные операции по разному выполняют, некоторые могут загрузить одну задачу на одино ядро, а некоторые разбивать ее и расределять, смотря как конвеер организован. Так же зависит от криворукости программистов, от того какими командами и в каком порядке выполняется операция зависит то как ее будет обрабатывать процессор. А практически любую операцию можно сделать несколькими способами.
     
  7. Решатель

    Решатель Знаток

    С нами с:
    20.04.2005
    Сообщения:
    1.413
    Симпатии:
    0
    Баллы:
    44
    Где можно прочитать вот про это вот, что вы сейчас тут сказали - "некоторые могут загрузить одну задачу на одино ядро, а некоторые разбивать ее и расределять, смотря как конвеер". Конвеер какого из процессоров, кстати, будет разбивать задачу на два проца?
     
  8. ArtmanUrgus

    ArtmanUrgus Активный участник

    С нами с:
    15.12.2006
    Сообщения:
    34
    Симпатии:
    0
    Баллы:
    15
    Ungus, видимо ваше нахождение за компьютером прямо с рождения, как-то особенно повлияло на ваш головной мозг. Отдохните от нас чуть-чуть, сделайте паузу. Have a life.

    Update: Очень было занятно изучить тред "Laterne, Laterne", кстати. У моего приятеля матушка ещё на БЭСМ-6 работала. Так вот несмотря на то что за ЭВМ она провела времени побольше вашего, шедевров ЦГ от этого делать почему-то не стала. "Проводить время за компьютером" вообще можно по-разному. Можно в минера все 18 лет играть.
     
  9. J-A-G-U-A-R

    J-A-G-U-A-R Активный участник

    С нами с:
    25.01.2007
    Сообщения:
    454
    Симпатии:
    0
    Баллы:
    14
    В принципе любом поисковике можно набрать "организация многоядерных провессоров" или по курсу лекций "микропроцессорная техника" или типа того, в разных вузах по разному называют.

    вот ссылка на одну из статей
    http://www.intel.com/cd/corporate/europe/emea/rus/update/232853.htm
    и отрывок из нее:
    - "Приложения, которые работают на одноядерном процессоре Intel, будут работать и на двухъядерном процессоре Intel. Однако для того чтобы сегодня получить все преимущества от выполнения приложения на таком процессоре, ПО, работающее на такой платформе, должно быть разработано так, чтобы вычислительная нагрузка распределялась между множеством вычислительных ядер. Такая функциональная возможность называется параллелизм на уровне потоков или «многопоточность», а приложения и ОС (такие как Microsoft Windows* XP, Windows Server и версии Linux*), которые поддерживают этот режим работы, называются «поточными» или «многопоточными»."


    вот другая статья, там даже пример для програмистов есть:
    http://www.osp.ru/pcworld/2007/04/4230114/
    -"Не будет преувеличением сказать, что эра многоядерных процессоров для персональных компьютеров наступила. Конечно, все уже давно привыкли к тому, что с помощью ПК можно путешествовать по Интернету и одновременно слушать музыку, поэтому для рядового пользователя переход на двухъядерный процессор означает только увеличение производительности, а вот для индустрии ПО — это целая революция. Уже существующие программы в большинстве своем не могут воспользоваться теми преимуществами, которые дает второе ядро в системе. Разработка новых версий продуктов, где исправлен этот недостаток, требует принципиально иных подходов."

    В насчет распреденения задачь по ядрам, это целое искуство. один из примеров. когда в процессоре стоит конвеер, в функции которого входил выборка данных из памяти для последующей подачи их в ядро для обработки, пока ядро занято, чтобы небыло простоя, потому что данные и собственно операию которую надо над ними провести надо подготовить заранее. А на относительно уже последних версиях появилась даже функция "предварительного анализа кода", т.е. когда конвее "пытается угадать" какие данные могут понадобиться процессору на следующем шаге и заранее их подгружает. Могу сказать, что это довольно эффективно работает, за исключением моментов когда дальнейший ход вычислений зависит от результата текущего вычисления, вроде операторов if ... then ... else или case. Тогда конвеееру приходится полностью очищать очередь задачь если он "не угадал" дальнейшего развития событий.

    в многоядерных системах эти алгоритмы невероятно усложнены, но ими еще надо уметь пользоваться, т.е. затачивать код пограммы под алгоритмы процессоров, их конвееров.
     
  10. J-A-G-U-A-R

    J-A-G-U-A-R Активный участник

    С нами с:
    25.01.2007
    Сообщения:
    454
    Симпатии:
    0
    Баллы:
    14
    небольшое уточнение - конвеер всегда один, только он может быть много потоковым и заключать еще "подконвееры", но поскольку шина одна и данные в процессор попадают все же одному каналу, и именно на конвеер ложится затача распределения. т.е. вычленять потоки задачи сторонних процессов и отправлять их на другое ядро либо по возможности один процесс на несколько ядер увеличивая скорость просчета, но если код кривой, возникают ситуации, когда например одно ядро закончило просчет и для дальнейшей работы ему неодходим результат просчета другого ядра, и оно либо простаивает, либо переводится на другую задачу. соотвественно всех возможностей многоядерности уже нет.
     
  11. Решатель

    Решатель Знаток

    С нами с:
    20.04.2005
    Сообщения:
    1.413
    Симпатии:
    0
    Баллы:
    44
    Вы знаете, я бы наверное согласился, если бы не это ваше "уточнение". Кто вам сказал-то, что "конвейер всего один"? Конвейер находится _в_ процессоре, т.е. в каждом из ядер, а не на некоем "входе". И сам процессор не умеет ничего распараллеливать, равно как и OS и этот загадочный "конвейер". Параллелизация происходит на уровне тредов, т.е. "целых задач", OS не в состоянии разбить тред на несколько процов, это невозможно принципиально. Именно поэтому это называется Multithreading.
    Единственная вещь, которую шарят между собой ядра - это L2 cache. Единственное реальное преимущество, которое даёт 64bit процессор на данный момент - расширенная адресация памяти.
     
  12. J-A-G-U-A-R

    J-A-G-U-A-R Активный участник

    С нами с:
    25.01.2007
    Сообщения:
    454
    Симпатии:
    0
    Баллы:
    14
    Прадон муа, в данном случае я ошибочно привел процесс взаимодействия ядра с его математичеким сопроцессором, а не между двумя ядрами. Про треды я знаю и кажется им ничем не противоречил. А конвеер, это часть прочессора и неотъемлемая, именно там пошагово язык низкого уровня, тот же ассемблер раскладывается на микро команды и обрабатывается ядром именно как набор микрокоманд.

    Кстати, когда процы одноядерные были, псевдо многозадачность достигалась за счет рабоыт с тредами, это я в курсе, но тренд, если не изменяет память это так сказать информация о выполняемой задаче, ее текущем состоянии и ссылке на следующий шаг. Когда приходит задача с более высоким приоритетом, он упаковывается, "уступает дорогу", а потом снова идет в работу. Я конечно не знаю всех тонкостей работы многоядерных процессоров. но помоему им ничто не мещает обмениваться этими тредами.

    Про 64 bit процессор добавлю что не только аресацию памяти расширил, но и сам поток данных, обработать за раз 32 или 64 бита информации разница есть. Правда если с 64 битным процессором работает софт заточеный под 32 бита, то и обрабатываться будет 32 бита единовременно. а остальные будут просто пустыми и никакой разницы.
     
  13. Решатель

    Решатель Знаток

    С нами с:
    20.04.2005
    Сообщения:
    1.413
    Симпатии:
    0
    Баллы:
    44
    Thread - это не "информация о задаче", а сама задача. Думается что "обмениваться" тредами процессоры сами не могут - они делают то что им говорит OS. Отличий 64bit cpu от 32bit - гораздо больше, но, как я уже написал _реально_ сейчас выигрыш для пользователей только в памяти. Скорость наоборот может снижаться из-за эмуляции win32 в 64bit OS.
     
  14. J-A-G-U-A-R

    J-A-G-U-A-R Активный участник

    С нами с:
    25.01.2007
    Сообщения:
    454
    Симпатии:
    0
    Баллы:
    14
    а я и не говорил что процессоры сами ими могут обмениваться, Вы правы, они делаю только то что им говорит OS а соотвественно все зависит от написания кода придложения и той же OS. Так что в принципе сошлись на том что Алгоритмы то разные для 32 и 64 бит. Не сами конечно принципы Мая или чего-то другого, а обработки рабочих данных. Хотя жаде не столько в этом, а сколько в мультиядерых процессорах и одноядерных.
     
  15. Решатель

    Решатель Знаток

    С нами с:
    20.04.2005
    Сообщения:
    1.413
    Симпатии:
    0
    Баллы:
    44
    Так что в принципе сошлись на том что Алгоритмы то разные для 32 и 64 бит.
    Что-то я не уловил - из чего это следует? Вы только что рассуждали о процессорах, конвейерах и мультитрединге, и вдруг каким-то волшебным образом оказалось что в Maya разные алгоритмы для 32/64bit?
     
  16. J-A-G-U-A-R

    J-A-G-U-A-R Активный участник

    С нами с:
    25.01.2007
    Сообщения:
    454
    Симпатии:
    0
    Баллы:
    14
    Собственно с чего все начиналось? человек не мог понять по чему у него мая не загружает все ядра, а он работает в 32-х разрядной ХР. Потом возник спор о разрядностях процессоров и собственно работы софта на них, и разница оказалась приличная.

    яж подчеркнул что
    - "Алгоритмы разные для 32 и 64 бит. Не сами конечно принципы Мая или чего-то другого, а обработки рабочих данных."
     
  17. Решатель

    Решатель Знаток

    С нами с:
    20.04.2005
    Сообщения:
    1.413
    Симпатии:
    0
    Баллы:
    44
    человек не мог понять по чему у него мая не загружает все ядра, а он работает в 32-х разрядной ХР
    Потому что софт ввиду каких-то причин написан не мультитредовым.
    Алгоритмы для 32/64 софта - одинаковые. Maya не оптимизирована для 64bit OS, по крайней мере Alias/Autodesk об этом не говорили ни слова. Уж будьте уверены, если бы была хоть какая-то оптимизация - маркетологи раструбили бы об этом на пол-интернета.
     
  18. J-A-G-U-A-R

    J-A-G-U-A-R Активный участник

    С нами с:
    25.01.2007
    Сообщения:
    454
    Симпатии:
    0
    Баллы:
    14
    странно, а почему тогда в том же интернете мая 2008 в двух вариантах есть в 32 битном и 64-х?
     
  19. Решатель

    Решатель Знаток

    С нами с:
    20.04.2005
    Сообщения:
    1.413
    Симпатии:
    0
    Баллы:
    44
    Потому что 32-bit приложения не смогут работать с большими объемами памяти - у них все указатели 32-битные. Кроме того 32-bit приложения запускаются в Vista64/XP64 в режиме эмуляции. Поэтому и сделали native 64 bit application.
     
  20. Решатель

    Решатель Знаток

    С нами с:
    20.04.2005
    Сообщения:
    1.413
    Симпатии:
    0
    Баллы:
    44
    http://features.cgsociety.org/story_custom.php?story_id=3768
     
Модераторы: Dark™, Skif

Поделиться этой страницей