Describir: Designing efficient algorithms for parallel computers