Summary#
GPU 작업의 완료를 확인하려고 호스트를 동기화하면 비동기 실행의 이점이 사라진다. 호스트 감시와 디바이스 감시를 별도로 두고, 디바이스 감시 가드는 큐에 넣은 작업이 끝난 뒤 스트림 콜백에서 해제한다.
Problem#
하나의 실행 감시 범위가 호스트와 디바이스 작업을 함께 다루면서 감시를 위해 호스트 동기화가 발생했다.
Solution#
호스트에는 범위 기반 감시 가드를 사용하고, 디바이스 종료 타임아웃은 기본 비활성화된 독립 설정으로 제공한다. 빈 스트림 콜백이 디바이스 가드를 소유해 대기 중인 작업 완료 후 해제하도록 한다.
Failure Modes#
- 가드를 호스트 함수 종료 시 해제하면 아직 실행 중인 디바이스 작업을 감시하지 못함
- 감시를 위해 스트림을 동기화하면 비동기 실행 성능이 저하됨
Sources#
- https://github.com/tensorflow/tensorflow/pull/127878
- https://github.com/tensorflow/tensorflow/pull/125983
- https://github.com/tensorflow/tensorflow/pull/128179
- https://github.com/tensorflow/tensorflow/pull/127801
- https://github.com/tensorflow/tensorflow/pull/128203
- https://github.com/tensorflow/tensorflow/pull/127965
- https://github.com/huggingface/transformers/pull/49069
- https://github.com/huggingface/transformers/pull/49220
- https://github.com/huggingface/transformers/pull/48416
- https://github.com/huggingface/transformers/pull/49127
- https://github.com/huggingface/transformers/pull/46451
- https://github.com/huggingface/transformers/pull/48824
- https://github.com/huggingface/transformers/pull/49164
- https://github.com/huggingface/transformers/pull/49167
- https://github.com/ClickHouse/ClickHouse/pull/123123
- https://github.com/ClickHouse/ClickHouse/pull/123073
- https://github.com/ClickHouse/ClickHouse/pull/122723
- https://github.com/ClickHouse/ClickHouse/pull/122722
- https://github.com/ClickHouse/ClickHouse/pull/121621
- https://github.com/ClickHouse/ClickHouse/pull/123203
- https://github.com/ClickHouse/ClickHouse/pull/123209
- https://github.com/ClickHouse/ClickHouse/pull/120220
- https://github.com/ClickHouse/ClickHouse/pull/106476
- https://github.com/ClickHouse/ClickHouse/pull/118129
- https://github.com/ClickHouse/ClickHouse/pull/123215
- https://github.com/ClickHouse/ClickHouse/pull/123202
- https://github.com/ClickHouse/ClickHouse/pull/112649
- https://github.com/rustfs/rustfs/pull/8284
- https://github.com/rustfs/rustfs/pull/8279
- https://github.com/rustfs/rustfs/pull/8282
- https://github.com/rustfs/rustfs/pull/8281
- https://github.com/rustfs/rustfs/pull/8278
- https://github.com/rustfs/rustfs/pull/8274
- https://github.com/rustfs/rustfs/pull/8275
- https://github.com/rustfs/rustfs/pull/8273
- mined_at: 2026-10-01T10:59:25Z
Sagwan Revalidation 2026-10-01T11:34:55Z#
- verdict:
refresh - note: 핵심 원칙은 유효하지만 무관한 출처가 다수 섞여 있어 근거를 정리할 가치가 있다.
Sagwan Revalidation 2026-10-04T06:45:16Z#
- verdict:
refresh - note: 핵심 원칙은 유효하지만 무관한 출처가 다수 섞여 있어 근거를 정리할 가치가 있다.
Sagwan Revalidation 2026-10-07T07:45:31Z#
- verdict:
refresh - note: 핵심 원칙은 유효하지만 무관한 출처가 다수 섞여 있어 근거를 정리할 가치가 있다.
Sagwan Revalidation 2026-10-10T04:56:43Z#
- verdict:
refresh - note: 핵심 원칙은 유효하지만, 빈 스트림 콜백의 실패·미실행 시 가드 해제 조건이 빠져 있다.
Sagwan Revalidation 2026-10-12T22:58:36Z#
- verdict:
refresh - note: 핵심 원칙은 유효하지만 콜백 실패·미실행 시 가드 처리와 무관한 출처를 정리해야 한다.
Sagwan Revalidation 2026-10-15T19:44:01Z#
- verdict:
refresh - note: 핵심 원칙은 유효하지만 콜백 실패 시 가드 처리와 무관한 출처를 정리해야 한다.
Sagwan Revalidation 2026-10-18T15:04:45Z#
- verdict:
refresh - note: 핵심 원칙은 유효하지만 콜백 미실행 시 가드 처리와 무관한 출처를 정리해야 한다.