From 71ad211374002c2f5bbd2f6799b571c86fb8b079 Mon Sep 17 00:00:00 2001 From: jihyun Date: Sun, 5 Oct 2025 19:44:51 +0900 Subject: [PATCH 1/4] =?UTF-8?q?advanced=5Fsource/cpp=5Fcuda=5Fgraphs.rst?= =?UTF-8?q?=20=EC=98=A4=ED=83=80=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- advanced_source/cpp_cuda_graphs.rst | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/advanced_source/cpp_cuda_graphs.rst b/advanced_source/cpp_cuda_graphs.rst index f7889baf..1eb999b8 100644 --- a/advanced_source/cpp_cuda_graphs.rst +++ b/advanced_source/cpp_cuda_graphs.rst @@ -52,7 +52,7 @@ LibTorch(C++ 프론트엔드)에서의 CUDA 그래프 사용법은 다음과 매 위의 예시에는 순전파, 역전파, 가중치 업데이트가 포함되어 있습니다. 이 튜토리얼에서는 전체 네트워크 그래프 캡처를 통해 모든 계산 단계에 CUDA 그래프를 적용합니다. - 하지만 그 전에 약간의 소스 코드 수정이 필요합니다. 우리가 해야 할 일은 주 훈련 루프에서 +하지만 그 전에 약간의 소스 코드 수정이 필요합니다. 우리가 해야 할 일은 주 훈련 루프에서 tensor를 재사용할 수 있도록 tensor를 미리 할당하는 것입니다. 다음은 구현 예시입니다. @@ -74,7 +74,7 @@ tensor를 재사용할 수 있도록 tensor를 미리 할당하는 것입니다. training_step(model, optimizer, data, targets, output, loss); } -여기서 ``training_step``은 단순히 해당 옵티마이저 호출과 함께 순전파 및 역전파로 구성됩니다 +여기서 ``training_step`` 은 단순히 해당 옵티마이저 호출과 함께 순전파 및 역전파로 구성됩니다. .. code-block:: cpp @@ -92,7 +92,7 @@ tensor를 재사용할 수 있도록 tensor를 미리 할당하는 것입니다. optimizer.step(); } -파이토치의 CUDA 그래프 API는 스트림 캡처에 의존하고 있으며, 이 경우 다음처럼 사용됩니다 +파이토치의 CUDA 그래프 API는 스트림 캡처에 의존하고 있으며, 이 경우 다음처럼 사용됩니다. .. code-block:: cpp @@ -117,12 +117,12 @@ CUDA 라이브러리(CUBLAS와 CUDNN같은)를 준비하는 것이 중요합니 } 그래프 캡처에 성공하면 ``training_step(model, optimizer, data, target, output, loss);`` 호출을 -``graph.replay()``로 대체하여 학습 단계를 진행할 수 있습니다. +``graph.replay()`` 로 대체하여 학습 단계를 진행할 수 있습니다. 훈련 결과 ---------------- -코드를 한 번 살펴보면 그래프가 아닌 일반 훈련에서 다음과 같은 결과를 볼 수 있습니다 +코드를 한 번 살펴보면 그래프가 아닌 일반 훈련에서 다음과 같은 결과를 볼 수 있습니다. .. code-block:: shell @@ -152,7 +152,7 @@ CUDA 라이브러리(CUBLAS와 CUDNN같은)를 준비하는 것이 중요합니 user 0m44.018s sys 0m1.116s -CUDA 그래프를 사용한 훈련은 다음과 같은 출력을 생성합니다 +CUDA 그래프를 사용한 훈련은 다음과 같은 출력을 생성합니다. .. code-block:: shell From bfd6b790b7b556f271cdc7c9d1592d6c2c5f3648 Mon Sep 17 00:00:00 2001 From: jihyun Date: Sun, 5 Oct 2025 20:36:54 +0900 Subject: [PATCH 2/4] =?UTF-8?q?advanced=5Fsource/cpp=5Fcuda=5Fgraphs.rst?= =?UTF-8?q?=20=EC=98=A4=ED=83=80=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- advanced_source/cpp_cuda_graphs.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/advanced_source/cpp_cuda_graphs.rst b/advanced_source/cpp_cuda_graphs.rst index f7889baf..b75e5935 100644 --- a/advanced_source/cpp_cuda_graphs.rst +++ b/advanced_source/cpp_cuda_graphs.rst @@ -74,7 +74,7 @@ tensor를 재사용할 수 있도록 tensor를 미리 할당하는 것입니다. training_step(model, optimizer, data, targets, output, loss); } -여기서 ``training_step``은 단순히 해당 옵티마이저 호출과 함께 순전파 및 역전파로 구성됩니다 +여기서 ``training_step`` 은 단순히 해당 옵티마이저 호출과 함께 순전파 및 역전파로 구성됩니다. .. code-block:: cpp @@ -92,7 +92,7 @@ tensor를 재사용할 수 있도록 tensor를 미리 할당하는 것입니다. optimizer.step(); } -파이토치의 CUDA 그래프 API는 스트림 캡처에 의존하고 있으며, 이 경우 다음처럼 사용됩니다 +파이토치의 CUDA 그래프 API는 스트림 캡처에 의존하고 있으며, 이 경우 다음처럼 사용됩니다. .. code-block:: cpp @@ -117,12 +117,12 @@ CUDA 라이브러리(CUBLAS와 CUDNN같은)를 준비하는 것이 중요합니 } 그래프 캡처에 성공하면 ``training_step(model, optimizer, data, target, output, loss);`` 호출을 -``graph.replay()``로 대체하여 학습 단계를 진행할 수 있습니다. +``graph.replay()`` 로 대체하여 학습 단계를 진행할 수 있습니다. 훈련 결과 ---------------- -코드를 한 번 살펴보면 그래프가 아닌 일반 훈련에서 다음과 같은 결과를 볼 수 있습니다 +코드를 한 번 살펴보면 그래프가 아닌 일반 훈련에서 다음과 같은 결과를 볼 수 있습니다. .. code-block:: shell @@ -152,7 +152,7 @@ CUDA 라이브러리(CUBLAS와 CUDNN같은)를 준비하는 것이 중요합니 user 0m44.018s sys 0m1.116s -CUDA 그래프를 사용한 훈련은 다음과 같은 출력을 생성합니다 +CUDA 그래프를 사용한 훈련은 다음과 같은 출력을 생성합니다. .. code-block:: shell From e41adbcca35752de37702d108df3503c85575317 Mon Sep 17 00:00:00 2001 From: jihyun Date: Sun, 5 Oct 2025 20:37:13 +0900 Subject: [PATCH 3/4] =?UTF-8?q?Revert=20"advanced=5Fsource/cpp=5Fcuda=5Fgr?= =?UTF-8?q?aphs.rst=20=EC=98=A4=ED=83=80=EC=88=98=EC=A0=95"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit bfd6b790b7b556f271cdc7c9d1592d6c2c5f3648. --- advanced_source/cpp_cuda_graphs.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/advanced_source/cpp_cuda_graphs.rst b/advanced_source/cpp_cuda_graphs.rst index b75e5935..f7889baf 100644 --- a/advanced_source/cpp_cuda_graphs.rst +++ b/advanced_source/cpp_cuda_graphs.rst @@ -74,7 +74,7 @@ tensor를 재사용할 수 있도록 tensor를 미리 할당하는 것입니다. training_step(model, optimizer, data, targets, output, loss); } -여기서 ``training_step`` 은 단순히 해당 옵티마이저 호출과 함께 순전파 및 역전파로 구성됩니다. +여기서 ``training_step``은 단순히 해당 옵티마이저 호출과 함께 순전파 및 역전파로 구성됩니다 .. code-block:: cpp @@ -92,7 +92,7 @@ tensor를 재사용할 수 있도록 tensor를 미리 할당하는 것입니다. optimizer.step(); } -파이토치의 CUDA 그래프 API는 스트림 캡처에 의존하고 있으며, 이 경우 다음처럼 사용됩니다. +파이토치의 CUDA 그래프 API는 스트림 캡처에 의존하고 있으며, 이 경우 다음처럼 사용됩니다 .. code-block:: cpp @@ -117,12 +117,12 @@ CUDA 라이브러리(CUBLAS와 CUDNN같은)를 준비하는 것이 중요합니 } 그래프 캡처에 성공하면 ``training_step(model, optimizer, data, target, output, loss);`` 호출을 -``graph.replay()`` 로 대체하여 학습 단계를 진행할 수 있습니다. +``graph.replay()``로 대체하여 학습 단계를 진행할 수 있습니다. 훈련 결과 ---------------- -코드를 한 번 살펴보면 그래프가 아닌 일반 훈련에서 다음과 같은 결과를 볼 수 있습니다. +코드를 한 번 살펴보면 그래프가 아닌 일반 훈련에서 다음과 같은 결과를 볼 수 있습니다 .. code-block:: shell @@ -152,7 +152,7 @@ CUDA 라이브러리(CUBLAS와 CUDNN같은)를 준비하는 것이 중요합니 user 0m44.018s sys 0m1.116s -CUDA 그래프를 사용한 훈련은 다음과 같은 출력을 생성합니다. +CUDA 그래프를 사용한 훈련은 다음과 같은 출력을 생성합니다 .. code-block:: shell From d5968ce8b7784a102d3a7f503f4f31fcd8675e8f Mon Sep 17 00:00:00 2001 From: jihyun Date: Sun, 5 Oct 2025 20:53:04 +0900 Subject: [PATCH 4/4] =?UTF-8?q?advanced=5Fsource/cpp=5Fcuda=5Fgraphs.rst?= =?UTF-8?q?=20=EC=98=A4=ED=83=80=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- advanced_source/cpp_cuda_graphs.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/advanced_source/cpp_cuda_graphs.rst b/advanced_source/cpp_cuda_graphs.rst index 1eb999b8..b75e5935 100644 --- a/advanced_source/cpp_cuda_graphs.rst +++ b/advanced_source/cpp_cuda_graphs.rst @@ -52,7 +52,7 @@ LibTorch(C++ 프론트엔드)에서의 CUDA 그래프 사용법은 다음과 매 위의 예시에는 순전파, 역전파, 가중치 업데이트가 포함되어 있습니다. 이 튜토리얼에서는 전체 네트워크 그래프 캡처를 통해 모든 계산 단계에 CUDA 그래프를 적용합니다. -하지만 그 전에 약간의 소스 코드 수정이 필요합니다. 우리가 해야 할 일은 주 훈련 루프에서 + 하지만 그 전에 약간의 소스 코드 수정이 필요합니다. 우리가 해야 할 일은 주 훈련 루프에서 tensor를 재사용할 수 있도록 tensor를 미리 할당하는 것입니다. 다음은 구현 예시입니다.