IntelLabs / HPAT.jl

High Performance Analytics Toolkit (HPAT) is a Julia-based framework for big data analytics on clusters.
BSD 2-Clause "Simplified" License
120 stars 16 forks source link

remove dead reductions generated from aggregation functions #17

Closed ehsantn closed 7 years ago

ehsantn commented 7 years ago

The AST generated for aggregate functions has extra reduction functions. Their output is not assigned to any variable but ParallelAccelerator does not remove them. I think remove_no_deps needs some thought to handle this.

This can have performance impact since they eventually become MPI_Allreduce.

tables_cat.jl in HPAT/test is a good simple example for this where extra sum() is generated, lowered to reduce() and eventually a parfor.

DrTodd13 commented 7 years ago

Fixed in bf311e7.

ehsantn commented 7 years ago

This causes tests to fail.

ehsantn commented 7 years ago

The issue is fixed now I think with recent bug fixes.