working cuda implementation, should parallelize different temperatures and energy difference calculation