Parla.py
Parla.py copied to clipboard
A Python based programming system for heterogeneous computing
This PR invokes an LRU-based GC for each task execution. Cholesky on various setting worked correctly. This PR is not optimized well performance yet, but aims to implement a baseline....
In the following code, variables are not captured if I write code directly inside the Parla context. Not sure if this is intended behavior, if so it is not documented...
When doing a reduce operation using PArrays, the data in follow-up operations is not consistent or None. The following example without a reduction works fine: ```python def main(): t =...
Tutorial 1 mentions: > Tasks can be spawned out of order. A tasks dependencies do not need to have been before being listed through the TaskSpace. When I tried the...
assignment_policy() updates the value of the 'memory' key of a task to calculate locality scores. https://github.com/ut-parla/Parla.py/blob/cbe1469a3eaea56edeb944422ced05f179d0fe4c/parla/task_runtime.py#L1671 However, if a task does not use any PArray, it doubles unnecessary iteration space...
Task name is not unique and is not descriptive. We should rename task name to task type and use task id for description.
The current Parla updates and tracks memory consumption when a task is mapped and completes. This is a loigcal memory trace and it would be better to exploit actual device...
This PR updates two main things: 1) replace lock-based resource tracking with lock-free one by making the scheduler manage. 2) move resource updates from mapping to launching; it blocked task...
This PR uses per-device locks to update resource status. This PR requires CPU core modes to see performance improvements; do `git checkout cpu-test -- parla/cpu_impl.py`. It improved 3x faster runtime...