ICLDisco / parsec

PaRSEC is a generic framework for architecture aware scheduling and management of micro-tasks on distributed, GPU accelerated, many-core heterogeneous architectures. PaRSEC assigns computation threads to the cores, GPU accelerators, overlaps communications and computations and uses a dynamic, fully-distributed scheduler based on architectural features such as NUMA nodes and algorithmic features such as data reuse.
Other
48 stars 17 forks source link

jdf2c issue when dealing with certain case #647

Open QingleiCao opened 6 months ago

QingleiCao commented 6 months ago

When writing in PTG like this: READ D <- desc_D(0, %{ return desc_f_data->super.rank_of(&desc_f_data->super, 0, n); %})

It shows: #error Expression return desc_f_data->super.rank_of(&desc_f_data->super, 0, n); has not been generated

@therault suggested using a task local variable but I need to understand more.

abouteiller commented 5 months ago

This should be valid but for now we can't deal with this.

A workaround solution is to declare a local, initialize the local with the generated expression, and then use the local in the flow.