[Documentation] Call shell scripts with extra resources inside the submitted Python function
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 42/100
- Loại issue
- Tài liệu
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Lĩnh vực
- documentation, hpc
Hướng nghiên cứu
Bắt đầu với tài liệu nested-executors được liên kết và tài liệu hiện có của repository về các job HPC; issue không nêu tệp cụ thể nào. Hãy ghi lại cách các shell script của SLURM và các nested executors của Flux nhận thêm tài nguyên tại thời điểm submit, sử dụng ví dụ Python được hiển thị làm tham chiếu cho kết quả hoàn chỉnh cần trông như thế nào.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
For SLURM each call of srun creates a new job step, so there is no need to assign any resources to the specific Python function, just assign the resources to the external shell script directly.
For flux there is the option to use nested executors:
https://executorlib.readthedocs.io/en/latest/3-hpc-job.html#nested-executors
Still this option can also be assigned during the submission - just like all the other options:
from executorlib import FluxJobExecutor
def get_available_gpus(lst):
import socket
from tensorflow.python.client import device_lib
local_device_protos = device_lib.list_local_devices()
return [
(x.name, x.physical_device_desc, socket.gethostname())
for x in local_device_protos if x.device_type == "GPU"
] + lst
with FluxJobExecutor() as exe:
fs = []
for i in range(1, 4):
fs = exe.submit(
get_available_gpus,
lst=fs,
resource_dict={"cores": 1, "gpus_per_core": 1, "flux_executor_nesting": True},
)
print(fs.result())
- Ngôn ngữ chính
- Python
- Star
- 78
- Fork
- 9
- Merge trung bình
- 3 giờ 42 phút
- Pull request đã merge (30 ngày)
- 12
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của pyiron/executorlib
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
pyiron/executorlib#1054 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
pyiron/executorlib#1032 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
documentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
pyiron/executorlib#1005 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Fearture] Use asyncio internally to reduce number of threadsCó thể đã có người làm @jan-janssen đã nhận 7 ngày trước. Đang mởenhancement
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
pyiron/executorlib#1072 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
pyiron/executorlib#1049 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của pyiron/executorlib
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
rpm-software-management/mock#1824 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
jpata/particleflow#520 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug good first issue hacktoberfest
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 78/100
gridhead/gi-loadouts#699 ·
Maintainer thường phản hồi trong vòng 13 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 86/100
FinanceFlash/unvibecode#206 ·
Maintainer thường phản hồi trong vòng 1 ngày