Вопросы с тегом «parallel-processing»

Параллельная обработка, в отличие от простой параллельной обработки, гарантирует запуск / выполнение / завершение всех задач уровня потока и / или уровня инструкций, выполняемых параллельно, и обеспечивает гарантированное завершение одновременно выполняемых путей кода.

13
Как сформулировать разницу между асинхронным и параллельным программированием?
Многие платформы продвигают асинхронность и параллелизм как средства повышения быстродействия. Я понимаю разницу в целом, но часто мне трудно сформулировать это в собственном уме, а также для других. Я рабочий программист и довольно часто использую асинхронные функции и обратные вызовы. Параллелизм кажется экзотическим. Но мне кажется, что их легко объединить, …

5
Почему я должен предпочесть одно ожидание Task.WhenAll нескольким ожиданиям?
В случае, если меня не волнует порядок выполнения задач и мне просто нужно, чтобы они все выполнялись, следует ли мне использовать await Task.WhenAllвместо нескольких await? например, DoWork2ниже предпочтительный метод DoWork1(и почему?): using System; using System.Threading.Tasks; namespace ConsoleApp { class Program { static async Task<string> DoTaskAsync(string name, int timeout) { var …

8
Может ли Powershell запускать команды параллельно?
У меня есть сценарий PowerShell для выполнения пакетной обработки нескольких изображений, и я хотел бы выполнить некоторую параллельную обработку. Powershell, похоже, имеет некоторые параметры фоновой обработки, такие как start-job, wait-job и т. Д., Но единственным хорошим ресурсом, который я нашел для выполнения параллельной работы, было написание текста сценария и его …

4
Объекты с общей памятью в многопроцессорной обработке
Предположим, у меня есть большой массив numpy в памяти, у меня есть функция, funcкоторая принимает этот гигантский массив в качестве входных данных (вместе с некоторыми другими параметрами). funcс разными параметрами можно запускать параллельно. Например: def func(arr, param): # do stuff to arr, param # build array arr pool = Pool(processes …

1
Переполнение кучи потоков Haskell, несмотря на использование всего 22 МБ памяти?
Я пытаюсь распараллелить трассировщик лучей. Это означает, что у меня есть очень длинный список небольших вычислений. Ванильная программа запускается на определенной сцене за 67,98 секунды при использовании 13 МБ общей памяти и производительности 99,2%. В своей первой попытке я использовал параллельную стратегию parBufferс размером буфера 50. Я выбрал, parBufferпотому что …

5
Разрыв parallel.foreach?
Как мне выйти из цикла parallel.for ? У меня есть довольно сложное утверждение, которое выглядит следующим образом: Parallel.ForEach<ColorIndexHolder>(ColorIndex.AsEnumerable(), new Action<ColorIndexHolder>((ColorIndexHolder Element) => { if (Element.StartIndex <= I && Element.StartIndex + Element.Length >= I) { Found = true; break; } })); Используя параллельный класс, я могу значительно оптимизировать этот процесс. Тем …

7
Насколько дорого стоит заявление о блокировке?
Я экспериментировал с многопоточностью и параллельной обработкой, и мне нужен был счетчик для базового подсчета и статистического анализа скорости обработки. Чтобы избежать проблем с одновременным использованием моего класса, я использовал оператор блокировки для частной переменной в моем классе: private object mutex = new object(); public void Count(int amount) { lock(mutex) …

4
Как работает алгоритм сортировки MapReduce?
Одним из основных примеров, который используется для демонстрации возможностей MapReduce, является тест Terasort . Мне сложно понять основы алгоритма сортировки, используемого в среде MapReduce. Для меня сортировка просто включает определение относительного положения элемента по отношению ко всем другим элементам. Таким образом, сортировка предполагает сравнение «всего» со «всем». Ваш средний алгоритм …

5
выбор между подпроцессом, многопроцессорностью и потоком в Python?
Я хотел бы распараллелить мою программу Python, чтобы она могла использовать несколько процессоров на машине, на которой она работает. Мое распараллеливание очень простое, поскольку все параллельные «потоки» программы независимы и записывают свой вывод в отдельные файлы. Мне не нужны потоки для обмена информацией, но я обязательно знаю, когда потоки завершаются, …

13
Как дождаться завершения ряда потоков?
Как можно просто дождаться завершения всех потоковых процессов? Например, допустим, у меня есть: public class DoSomethingInAThread implements Runnable{ public static void main(String[] args) { for (int n=0; n<1000; n++) { Thread t = new Thread(new DoSomethingInAThread()); t.start(); } // wait for all threads' run() methods to complete before continuing } …


2
Совместное использование очереди результатов между несколькими процессами
В документации к multiprocessingмодулю показано, как передать очередь процессу, запущенному с multiprocessing.Process. Но как я могу разделить очередь с запущенными асинхронными рабочими процессами apply_async? Мне не нужно динамическое объединение или что-то еще, просто способ для рабочих (многократно) сообщать о своих результатах обратно на базу. import multiprocessing def worker(name, que): que.put("%d …

2
SLURM `srun` vs` sbatch` и их параметры
Я пытаюсь понять, в чем разница между SLURM srunи sbatchкомандами. Я буду рад общему объяснению, а не конкретным ответам на следующие вопросы, но вот некоторые конкретные моменты путаницы, которые могут стать отправной точкой и дать представление о том, что я ищу. Согласно документации , он srunпредназначен для отправки заданий и …


2
Параллельный mapM на массивах Repa
В своей недавней работе с Gibbs sampling, я делал большую пользу из RVarкоторых, на мой взгляд, обеспечивает почти идеальный интерфейс для генерации случайных чисел. К сожалению, мне не удалось использовать Repa из-за невозможности использовать монадические действия на картах. Хотя очевидно, что монадические карты не могут быть распараллелены в целом, мне …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.