Scientific Computing with Multi-core and Accelerators