inducer / inducer/arraycontext

Make it so array containers do not know their array context?

Đang mở
#162 8 bình luận 0 reaction 0 người được giao Xem trên GitHub
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

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.