Все зависит от используемой вами карты GPU. Карточка Fermi использует единообразную адресацию общего и глобального пространства памяти, в то время как для карт с предварительным ферми нет.
Для случая до Ферми вы не знаете, должен ли адрес быть общим или глобальным. Компилятор обычно может это понять, но есть случаи, когда он не может. Когда требуется указатель на разделяемую память, вы обычно берете адрес общей переменной, и компилятор может это распознать. Сообщение, «предполагающее глобальное», появится, если это явно не определено.
Если вы используете графический процессор, который вычисляет пропускную способность 2.x или выше, он должен работать с флагом компилятора -arch = sm_20