multithreaded edge reduction