inducer / inducer/arraycontext
Make it so array containers do not know their array context?
- Ngôn ngữ chính
- Python
- Star
- 9
- Fork
- 11
- Merge trung bình
- 17 giờ 12 phút
- Pull request đã merge (30 ngày)
- 2
Mô tả
This is aimed particularly at `DOFArray.array_context`, which is AFAIK the only instance of this, but a pervasive one. This change, if implemented, is rather break-the-world-y, so we would have to do this slowly and carefully.
Why is it worth doing? It's forcing `arraycontext.container.traversal.{freeze,thaw}` to be `@singledispatch` over the container type, just for a way to remove the stored `.array_context`. For batch-freezing in the array context, this is inconvenient (see discussion in https://github.com/inducer/arraycontext/pull/158).
What does it break?
* `grudge` gets its array context from the arrays it's passed for many operations.
* Any function that's `actx.compile`d, because that's its sole source of array cotnext.
That seems like a lot of breakage for limited gain...
@alexfikl @kaushikcfd @majosm Thoughts?
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Bắt đầu bằng cách đọc DOFArray.array_context và arraycontext.container.traversal.freeze/thaw, sau đó xem lại phần thảo luận trong pull request 158. Truy vết cách grudge lấy array context của nó và cách actx.compile lấy context hiện nay. Để hoàn thành, cần có một thiết kế theo từng giai đoạn và tương thích, loại bỏ context được lưu trữ mà không làm hỏng các người dùng đó.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- python
- Lĩnh vực
- backend
- Loại issue
- Tái cấu trúc
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 20/100