이전 chapter에서는 property의 data type이 암시하는 한계보다 낮은 상한을 가진 propertype에 대해 설명했다. 이러한 상한 값은 device context가 생성되는 GPU 세대에 따라 달라진다. 이러한 값은 runtime에 optixDeviceContextGetProperty 함수를 통해 query할 수 있다.
제한 값은 optiX SDK 버전마다 변경될 수 있지만 업데이트된 NVIDIA 드라이버의 경우 내부적으로 변경되지 않는다. 업데이트된 드라이버는 Application compile 시 사용된 SDK 버전과 GPU 세데의 제한 값을 사용한다. 다음 표에는 Turing을 포함하여 현재 지원되는 GPU 세대에 대한 NVIDIA OptiX 제한 값을 나열하고 있다.
표에서 *로 표시된 NVIDIA OptiX 버전 7.1부터 증가한다. OptiX SDK 버전 7.0으로 컴파일된 코드의 경우 제한은 24이다.
instance property offset, user ID 및 visibility mask의 경우 32bit 구조체 멤버의 상위 비트를 0으로 설정해야 한다. device function의 경우 표에 지정된 것보다 높은 비트는 무시된다. device function에 대한 제한은 runtime에 query할 수 없다.
CUDA의 한계 및 지원 기능에 대한 자세한 내용은 CUDA Toolkit 문서의 부록 K: Coumpution을 참고하면 된다. 단, OptiX launch size의 상한은 widthheightdepth <= 2^30으로 설정되어야 한다.