Делитесь своим опытом!
Решено! Перейти к решению.
Совершенно не понял двух последних сообщений...
Вообщем, делюсь методом. Распишу поподробнее, чтобы было понятно всем.
В общем все довольно незамысловато: есть программа CPU Control, которая распараллеливает целевую программу; для успешной её работы нужно, чтобы в окне программы CPU Control отображался как процесс самой программы, так и процесс целевой программы. Для целевой программы все просто: в диспетчере задач процессу потом зададим соответствие, а вот CPU Control должна запуститься с уже выставленными ядрами. Для этого используется программка imagecfg.exe. Далее по пунктам.
1. Качаем из любого источника маленькую программку (50кб) imagecfg.exe и копируем ее в любой каталог. Для удобства можно скопировать её в c:\\windows\system32 - это позволит запустить команду через "Пуск > Выполнить..." Можно сделать как я: в активном окне Total Commander войти в каталог, где лежит программа и вписать команду в командную строку внизу.
2. Установить CPU Control, например, в каталог "D:\CPU-Control\CPU_Control.exe". Можно запустить и убедиться, что в окне программы нет ни одного процесса. Тут же сразу делаем копию CPU_Control.exe, т.к. imagecfg изменит исполняемый .exe файл.
3. Теперь вводим в командную строку Total Commander или в окно "Пуск > Выполнить..." команду
imagecfg -a 0x0f "D:\CPU-Control\CPU_Control.exe" Должно появиться и пропасть черное окошко. После этого повторно запускаем CPU_Control.exe, в окне программы должен появиться процесс самой программы. Пока закрываем.
4. Теперь нужно запустить целевую программу и в диспетчере задач задать соответствие для её процесса. Выставляем 1, 2, 3 и 4 ядро, т.к. в команде для CPU Control было выставлено аналогичное соответствие (в команде это 0x0f).
5. После снова запускаем модифицированный CPU_Control.exe, в нем теперь видно оба процесса. Для того, чтобы целевая прога распараллелилась, нужно пару раз переключить справа режим на Авто, потом опять на ручной, чтобы напротив целевой программы были все единички (при необходимости правой кнопкой на процесс и выставить все ядра). Все. Теперь должно работать.
Опытным путем выяснил, что работают именно первые 4 ядра, если задать командой другие, процесс не отображается в окне CPU Control. Сначала хотел выставить 1, 3, 5, 7, но не вышло, видимо прога начинает подозревать, что ее обманывают, раз она видит ядра с больше CPU3 :). Если будет желание можете тоже попробовать, может заработает (если да, поделитесь). 0x0f указывает, что присвоить надо 1, 2, 3, 4 ядра. Привожу константы для всех:
0x01 = 1 = CPU0
0x02 = 2 = CPU1
0x04 = 4 = CPU2
0x08 = 8 = CPU3
0x10 = 16 = CPU4
0x20 = 32 = CPU5
0x40 = 64 = CPU6
0x80 = 128 = CPU7
0x0f = 15 = CPU0, CPU1, CPU2, and CPU3 (1+2+4+8 = 15)
Или, например: 0xc3 = 195 = CPU0, CPU1, CPU6, CPU7 (1+2+64+128)
Я пробовал на игре WOT, распараллелилось на 1 и 3 ядро, потоки hyper-threading она почему-то проигнорировала, может другие будут лучше. Есть оченьмалое кол-во программ, которые не распараллеливаются, однако инструмент довольно универсальный. Надеюсь, кому-нибудь пригодится.
Я вас категорически приветствую, @MaximuS__87
Через BIOS в VAIO вы ничего не получите. Это забота разработчиков от слишком любопытных пользователей, любителей рискованных экпериментов. Правильно ли это или нет - вопрос философский.
Судя по вашему тексту - вы вполне опытный пользователь. И я готов вам сообщить как отключать логические ядра процессоров.
НО...
Для начала, окажите любезность, сообщите нам:
1: У вас установлена заводская ОС или вы уже поставили "чистую"? Какая версия ОС текущая?
2: Какие конкретно приложения приводят к сбою/сбоям, какие сообщения от ОС вы получаете, и почему вы однозначно определяете причину таких сбоев как наличие Hyper Threading.
Отличное сообщение, коллега
Все бы так вот излагали...
Для продолжения этой продуктивной ветки, сообщаяю вам что эта "старушка" (autoGK), вполне возможно, заработает у вас корректно, если вы её будете запускать в режиме совместимости с ХР.
Ну а теперь по-существу - то, что вас интересует:
Запускаете Диспетчер задач--находите экземляр процесса этого конвертера--ПКМ--Задать соответствие--снимаете флаги со всех ядер, за исключение одного, например, 0-го.
Вопросы?
Не исчезайте навсегда, делитесь наблюдениями, о_том_о_сем...
Коллега,
Для исследования и саморазвития задача, которую вы планируете решать очень интересна. Не забудьте рассказать об итогах. С учетом того, что и отрицательный результат - это тоже результат!
Ну а, в чисто практическом смысле, объясните: зачем на такой отличной машине как ваша, с ОС 7х64 использовать такие рудиментарные приложения, как это? (Кстати, вы так и не упоминули - запускаете ли вы его в режиме совместимости с ХР?)
К сожалению, я у себя использую мощный, многофункциональный (и дорогой:smileyshocked: ) видеоредактор, который конвертирует все-во-все (за исключением рублей в $:smileylaugh:), и поэтому не очень в курсе по поводу наличия современных (в т.ч. и 64-разрядных, возможно?) бесплатных/не_дорогих конверторов видеопотоков. Но уверен, что при желании, найти их и выбрать в СЕТИ для вас труда не составит. Да и здесь могут подсказать,если что...
Можно я тоже буду называть вас коллеги?
Хотя, честно говоря, вот @ActuatedDrake , какой он мне коллега?
На днях он опять предпринял "героические" усилия удалить меня из Flash BIOS на своем дивайсе. И это человек, который считает себя гуманистом и интеллигентом?
Я вот легким усилием могу его отключить от всех используемых им устройств ввода и даже мониторов. Но я же этого не делаю. Так кто из нас гуманист?
Ну, да ладно... Я же не об этом хотел выразиться
Конечно же нам интересно!
А, иначе, для чего вообще наш форум?
:smileyshocked::smileywink:
Гуманизм и котизм-вещи разные,не всегда совместимые.Так же не вижу причин,по которым у интеллегента на кота может не поднятся хотя бы тапок.
Дустом пробовать-не предлагаю из соображений фаунизма и атеизма.
Совершенно не понял двух последних сообщений...
Вообщем, делюсь методом. Распишу поподробнее, чтобы было понятно всем.
В общем все довольно незамысловато: есть программа CPU Control, которая распараллеливает целевую программу; для успешной её работы нужно, чтобы в окне программы CPU Control отображался как процесс самой программы, так и процесс целевой программы. Для целевой программы все просто: в диспетчере задач процессу потом зададим соответствие, а вот CPU Control должна запуститься с уже выставленными ядрами. Для этого используется программка imagecfg.exe. Далее по пунктам.
1. Качаем из любого источника маленькую программку (50кб) imagecfg.exe и копируем ее в любой каталог. Для удобства можно скопировать её в c:\\windows\system32 - это позволит запустить команду через "Пуск > Выполнить..." Можно сделать как я: в активном окне Total Commander войти в каталог, где лежит программа и вписать команду в командную строку внизу.
2. Установить CPU Control, например, в каталог "D:\CPU-Control\CPU_Control.exe". Можно запустить и убедиться, что в окне программы нет ни одного процесса. Тут же сразу делаем копию CPU_Control.exe, т.к. imagecfg изменит исполняемый .exe файл.
3. Теперь вводим в командную строку Total Commander или в окно "Пуск > Выполнить..." команду
imagecfg -a 0x0f "D:\CPU-Control\CPU_Control.exe" Должно появиться и пропасть черное окошко. После этого повторно запускаем CPU_Control.exe, в окне программы должен появиться процесс самой программы. Пока закрываем.
4. Теперь нужно запустить целевую программу и в диспетчере задач задать соответствие для её процесса. Выставляем 1, 2, 3 и 4 ядро, т.к. в команде для CPU Control было выставлено аналогичное соответствие (в команде это 0x0f).
5. После снова запускаем модифицированный CPU_Control.exe, в нем теперь видно оба процесса. Для того, чтобы целевая прога распараллелилась, нужно пару раз переключить справа режим на Авто, потом опять на ручной, чтобы напротив целевой программы были все единички (при необходимости правой кнопкой на процесс и выставить все ядра). Все. Теперь должно работать.
Опытным путем выяснил, что работают именно первые 4 ядра, если задать командой другие, процесс не отображается в окне CPU Control. Сначала хотел выставить 1, 3, 5, 7, но не вышло, видимо прога начинает подозревать, что ее обманывают, раз она видит ядра с больше CPU3 :). Если будет желание можете тоже попробовать, может заработает (если да, поделитесь). 0x0f указывает, что присвоить надо 1, 2, 3, 4 ядра. Привожу константы для всех:
0x01 = 1 = CPU0
0x02 = 2 = CPU1
0x04 = 4 = CPU2
0x08 = 8 = CPU3
0x10 = 16 = CPU4
0x20 = 32 = CPU5
0x40 = 64 = CPU6
0x80 = 128 = CPU7
0x0f = 15 = CPU0, CPU1, CPU2, and CPU3 (1+2+4+8 = 15)
Или, например: 0xc3 = 195 = CPU0, CPU1, CPU6, CPU7 (1+2+64+128)
Я пробовал на игре WOT, распараллелилось на 1 и 3 ядро, потоки hyper-threading она почему-то проигнорировала, может другие будут лучше. Есть оченьмалое кол-во программ, которые не распараллеливаются, однако инструмент довольно универсальный. Надеюсь, кому-нибудь пригодится.