add gpu functions