//предварительно получить кол-во процессоров в системе (у вас будет 4)....как сделать?
//для начала нужно написать общий AffinityMask с 1111b ....а зачем он нужен ??для чего??
//формирую два процесса "2+2" чтобы потом запустить на ядре
//Ну и завершить можно SetThreadIdealProcessor, в котором кажется, указывается индекс предпочитаемого процессора для потока. То есть для первого будет 0, а для второго 2.
Запускаем и радуемся распределенным вычислениям..... это как???
вот примерно сделал код...в качестве ответа можете просто его подредактировать???
Код: Выделить всё
#include <Windows.h>
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
HANDLE process1 = как мне тут указать 2+2;
HANDLE process2 = и тут 2+2;
BOOL success1 = SetProcessAffinityMask(process1, 3->0011b);
BOOL success2 = SetProcessAffinityMask(process2, 12->1100b);
cout << success1 << endl;
cout << success2 << endl;
system("pause");
return 0;
}
и еще хотел спросить, а вот есть библиотека mpi там есть интерфейс OpenMP , про это я читал
тут
так вот, там сказано что распараллеливание на OpenMP происходит на процессоры, типа можно создать кластер и всё такое, а на ядра нельзя расскидать а??
//предварительно получить кол-во процессоров в системе (у вас будет 4)....как сделать?
//для начала нужно написать общий AffinityMask с 1111b ....а зачем он нужен ??для чего??
//формирую два процесса "2+2" чтобы потом запустить на ядре
//Ну и завершить можно SetThreadIdealProcessor, в котором кажется, указывается индекс предпочитаемого процессора для потока. То есть для первого будет 0, а для второго 2.
Запускаем и радуемся распределенным вычислениям..... это как???
вот примерно сделал код...в качестве ответа можете просто его подредактировать???
[code]
#include <Windows.h>
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
HANDLE process1 = как мне тут указать 2+2;
HANDLE process2 = и тут 2+2;
BOOL success1 = SetProcessAffinityMask(process1, 3->0011b);
BOOL success2 = SetProcessAffinityMask(process2, 12->1100b);
cout << success1 << endl;
cout << success2 << endl;
system("pause");
return 0;
}
[/code]
и еще хотел спросить, а вот есть библиотека mpi там есть интерфейс OpenMP , про это я читал [url=https://msdn.microsoft.com/ru-ru/library/vstudio/ee441265(v=vs.100).aspx]тут[/url]
так вот, там сказано что распараллеливание на OpenMP происходит на процессоры, типа можно создать кластер и всё такое, а на ядра нельзя расскидать а??