정밀도 모드
설명
셰이더 그래프를 사용하면 다양한 플랫폼에서 최적화하기 위해 특정 정밀도 데이터 모드를 설정할 수 있습니다. 왼쪽 상단의 Graph Settings 버튼을 사용하여 그래프 설정 메뉴를 표시하여 전체 그래프의 정밀도를 설정하거나, 각 노드의 기어 아이콘 메뉴를 사용하여 그래프의 개별 노드에 대한 정밀도를 설정하십시오.
타입 옵션에 대한 자세한 내용은 정밀도 타입을 참조하십시오.
메뉴 옵션
이름 | 설명 |
---|---|
플로트 | 정밀도 모드를 float 로 설정합니다. |
Half | 정밀도 모드를 half 로 설정합니다. |
Inherit | 정밀도 모드를 inherit 로 설정합니다. 아래의 정밀도 상속을 참조하십시오. 노드에서만 사용할 수 있습니다. |
정밀도 모드 사용
정밀도 시각화
그래프를 통해 데이터 정밀도를 시각화하려면 셰이더 그래프 창의 오른쪽 상단에 있는 컬러 모드를 사용하십시오. Color Mode를 Precision으로 설정하면 각 노드가 현재 평가에서 half
또는 float
를 사용하는지 여부를 시각적으로 표시할 수 있습니다.
그래프 정밀도
전체 그래프의 정밀도를 float
또는 half
로 설정하려면 셰이더 그래프 창의 왼쪽 상단에 있는 드롭다운 메뉴를 사용하십시오. 기본적으로 새로 생성된 노드는 이 드롭다운 메뉴에서 설정된 정밀도를 사용합니다.
노드 정밀도
각 노드에 대해 고유한 정밀도를 설정하려면 기어 아이콘 메뉴를 사용하십시오. 각 노드에 대해 설정한 정밀도에 따라 정밀도 타입은 데이터가 그래프를 통해 이동할 때 자체적으로 업캐스트 또는 다운캐스트합니다.
예를 들어 half
노드를 float
노드에 연결하면 데이터가 float
로 업캐스트됩니다. 그런 다음, 해당 float
노드를 다른 half
노드에 연결하면 데이터가 다시 half
로 다운캐스트됩니다.
정밀도 상속
노드에는 inherit
라는 정밀도 옵션이 있습니다. 이 정밀도 옵션은 노드가 들어오는 에지의 정밀도 모드를 상속하도록 만듭니다. 그래프에 추가할 때 모든 노드는 기본적으로 inherit
모드를 사용합니다. 입력 포트에 대한 에지 연결이 없는 노드에 대해 inherit
옵션을 설정하면 Graph Precision 설정을 사용합니다.
예를 들어 Node A를 inherit
로 설정하는 경우 Graph Precision이 half
이므로 half
를 정밀도 모드로 사용합니다.
노드는 각 입력 포트에서 정밀도를 읽습니다. 정밀도 모드가 다른 노드를 단일 노드의 입력 포트에 연결할 수 있습니다. 이러한 경우 결과 출력은 연결된 노드 중에서 사용 가능한 가장 높은 정밀도 모드입니다.
예를 들어 Node D를 inherit
로 설정합니다. Node B는 half
정밀도를 입력 포트 A에 전달하고, Node C는 float
정밀도를 입력 포트 B에 전달합니다. 따라서 Node D는 Node D의 입력 포트 중에서 가장 높은 정밀도 모드인 float
를 출력합니다.
또한 정밀도 모드를 사용하여 입력 포트가 없는 노드를 설정할 수도 있습니다. 이러한 노드는 일반적으로 입력 노드이며, 기본적으로 inherit
로 설정되고 Graph Precision을 사용합니다. 다른 노드와 마찬가지로, 각 입력 노드의 기어 아이콘 메뉴를 사용하여 그래프 입력 데이터의 정밀도를 수동으로 설정하십시오.
입력 포트에 연결되지 않은 노드에 대해 inherit
옵션을 설정하면 Graph Precision 설정을 사용합니다. Graph Precision 모드를 변경하면 해당 노드의 정밀도도 변경됩니다. Graph Precision을 변경할 때 전환 병목 현상이 발생할 수 있으므로, inherit
로 설정한 노드를 추적하는 것이 중요합니다.
예를 들어 Graph Precision을 half
에서 float
로 변경하고 Node B를 half
로 수동으로 설정하면, Node B에 대한 데이터 입력이 float
에서 half
로 변경된 후 Node D에서 float
로 다시 전환됩니다.
하위 그래프 정밀도
하위 그래프에서 그래프와 노드의 정밀도 동작은 일반 그래프와 동일합니다. 왼쪽 상단 모서리에 있는 동일한 드롭다운 메뉴를 사용하여 Graph Precision을 설정하고, 각 노드의 동일한 기어 아이콘 메뉴를 사용하여 하위 그래프의 개별 노드에 대해 Node Precision을 설정하십시오.
Output 노드에서 Sub Graph Output의 정밀도를 설정하십시오. 이 정밀도는 하위 그래프의 Output 노드의 모든 출력 포트에 적용됩니다.
Sub Graph Inputs의 경우 내부 인스펙터를 통해 개별 프로퍼티에 대한 정밀도 모드를 설정하십시오. inherit
옵션을 사용하는 프로퍼티는 왼쪽 상단의 드롭다운 메뉴를 사용하여 하위 그래프에 대해 설정된 Graph Precision을 상속합니다.
메인 그래프 내에서 Sub-graph 노드를 사용하면 하위 그래프가 자체 정밀도를 결정합니다. 하위 그래프의 블랙보드에 있는 입력 프로퍼티의 정밀도 모드는 하위 그래프 에셋의 Sub Graph Precision을 상속합니다. 하위 그래프의 출력은 Output 노드의 정밀도를 사용합니다. 셰이더 그래프 내에서 Sub-graph 노드의 정밀도를 변경할 수 없습니다.
예를 들어 Sub Graph Precision을 half
로 설정하고 Graph Precision을 float
로 설정합니다. 그런 다음, Input A 및 Output 노드를 inherit
로 설정합니다. 하위 그래프의 입력 및 출력 포트는 Sub Graph Precision에서 half
를 상속하며, 이는 Graph Precision이 float
로 설정되어도 마찬가지입니다. 하위 그래프의 inherit
동작을 메인 그래프와 일치시키려면 Sub Graph Precision도 float
로 설정해야 합니다.