Comparing OpenACC and OpenMP Performance and Programmability