tôi chạy vào các vấn đề sau đây khi viết mã khoa học với Python:thu hoạch sức mạnh của máy tính cao song song với trăn đang khoa học
- Thông thường, bạn viết mã lặp đi lặp lại, như một kịch bản mà thực hiện một số tính toán.
- Cuối cùng, nó hoạt động; bây giờ bạn muốn chạy nó với nhiều đầu vào và tham số và tìm thấy nó mất quá nhiều thời gian.
- Nhớ lại bạn làm việc cho một viện học thuật tốt và có quyền truy cập vào một máy ~ 100 CPU, bạn đang bối rối làm thế nào để thu hoạch sức mạnh này. Bạn bắt đầu bằng cách chuẩn bị các kịch bản shell nhỏ chạy mã gốc với các đầu vào khác nhau và chạy chúng theo cách thủ công.
Là kỹ sư, tôi biết tất cả về kiến trúc phù hợp cho điều này (với các mục công việc được xếp hàng đợi và chuỗi công việc hoặc kết quả công việc xếp hàng và ghi vào lưu trữ liên tục); nhưng tôi không muốn tự mình thực hiện điều này. Vấn đề có vấn đề nhất là cần phải chạy lại do thay đổi mã hoặc các vấn đề hệ thống tạm thời (ví dụ: bộ nhớ ngoài).
Tôi muốn tìm một số khung mà tôi sẽ cung cấp các đầu vào mong muốn (ví dụ: với một tệp có một dòng cho mỗi lần chạy) và sau đó tôi có thể bắt đầu nhiều trường hợp của một số tác nhân được cung cấp khung. ma cua toi. Nếu có sự cố xảy ra với sự cố (ví dụ: vấn đề hệ thống tạm thời hoặc bị loại trừ do lỗi), tôi sẽ có thể xóa kết quả và chạy thêm một số tác nhân khác. Nếu tôi lấy quá nhiều tài nguyên, tôi sẽ có thể giết một số đại lý mà không sợ dữ liệu không nhất quán, và các nhân viên khác sẽ lấy các vật phẩm khi họ tìm thấy thời gian.
Bất kỳ giải pháp hiện có nào? Bất cứ ai cũng muốn chia sẻ mã của mình mà làm điều đó? Cảm ơn!
Tôi không tự mình sử dụng, nhưng [python for mpi] (http://mpi4py.scipy.org/docs/usrman/index.html) thường được sử dụng cho loại điều này. Vì mpi đã rất lớn trong không gian tính toán khoa học, nó có thể phù hợp với kiến trúc hiện tại của bạn. – tdelaney
* Là một kỹ sư, tôi biết tất cả ... nhưng tôi không muốn thực hiện điều này bản thân mình. * Đọc giống như một người quản lý với tôi. Máy của bạn có cài đặt hệ thống quản lý công việc không? –
@High Performance Mark: Ouch .. Tôi thích gọi nó là tập trung hơn. :) Nhưng thực sự, mã khoa học không giống như mã sản xuất; nếu viết một số mã thử nghiệm mất nửa ngày thì không sao, sẽ mất thêm nửa ngày nữa để nó chạy trên một cụm, đó là trường hợp của tôi ngày hôm nay. –