Далее параллельная обработка
Я написал фрактальный плоттер Форт-Мандельброта и столько же технических упражнений, сколько я хотел бы попытаться ускорить с помощью параллельной обработки.
В настоящее время я был бы счастлив, если бы я мог просто использовать оба своих ядра (одно ядро должно делать одну половину изображения, а другое - другую половину).
Я заметил, что Windows XP с большим удовольствием справится с двумя экземплярами Gforth и попытается использовать как можно больше процессорной мощности, поэтому запуск двух процессов может быть началом. Однако я не уверен, могут ли они совместно использовать память или могут ли они одновременно выполнять запись в файл (или как указать одному процессу начать запись в x байтах от начала файла).
Таким образом, как я могу сделать параллельную обработку, используя Gforth на Windows XP?
2 ответа
Вы можете сделать так, чтобы каждая программа создавала сетку пикселей, а не один пиксель, а затем в конце рекомбинировала их.
AFAIK, пиксели в наборах Мандельброта независимы друг от друга (кто-то поправляет меня, если я ошибаюсь), однако вычисление каждого из них является недетерминированным, что затрудняет правильное распараллеливание, без какого-либо центрального потока диспетчеризации (тогда снова вы столкнетесь с потенциальными проблемами из-за раздоров).