تصور کنید میتونید کد برنامتون رو به سه قسمت A و B و C تقسیم کنید به صورتی که قسمت های A و B میتونن به صورت موازی اجرا بشن اما برای اجرای قسمت C به نتیجه A و B احتیاج داریم. یکی از ابزار های شناخته شده برنامه نویسی موازی که برای برخورد با همچین سناریو هایی توسعه پیدا کردن Flow Graph ها هستن. به صورت کلی روش استفاده اینطوری هست که وابستگی بین قسمت های برنامه رو به عنوان یک گراف وابستگی مشخص میکنیم و اون ابزار منابع محاسباتی مثل thread ها یا هسته ها رو به شکل بهینه برای اجرای کد زمانبندی میکنه.اگه از C++ استفاده میکنید کتابخانه TBB امکانات خوبی برای طراحی و اجرای Flow Graph ها داره. یکی دیگه از پروژه هایی که به صورت مستقل و اختصاصی برای این مسئله طراحی شده TaskFlow هست:
🟢 A General-purpose Parallel and Heterogeneous Task Programming System
📙 https://taskflow.github.io/
اما اگه از جولیا استفاده میکنید، میتونید نگاهی به Dagger بندازید:
🟢 A framework for out-of-core and parallel execution
📙 https://juliaparallel.org/Dagger.jl/dev
#tools #julia #cpp
@hpcnerds
🟢 A General-purpose Parallel and Heterogeneous Task Programming System
📙 https://taskflow.github.io/
اما اگه از جولیا استفاده میکنید، میتونید نگاهی به Dagger بندازید:
🟢 A framework for out-of-core and parallel execution
📙 https://juliaparallel.org/Dagger.jl/dev
#tools #julia #cpp
@hpcnerds
👍6