share p0 in constant memory, and try shared/global also