refactored cuda drivers into corresponding compute threads, in preparation for multi-gpu support