merged from gpu branch
merged from gpu branch
merge from gpu
merge from gpu
cleanup