Scientific Computing With Multicore And Accelerators by