device type compilation considerations