Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

advanced_source/custom_ops_landing_page.rst 번역 #924

Closed
wants to merge 2 commits into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions advanced_source/custom_ops_landing_page.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
.. _custom-ops-landing-page:

PyTorch 사용자 지정 연산자
===========================

PyTorch는 Tensor에서 동작하는 대규모 연산자 라이브러리(예: ``torch.add``, ``torch.sum`` 등)를 제공합니다.
그러나 PyTorch에 새로운 사용자 지정 연산을 도입하여 ``torch.compile``, autograd 및 ``torch.vmap`` 와 같은
서브시스템에서 동작하도록 할 수 있습니다.
이렇게 하려면, 파이썬 `torch.library docs <https://pytorch.org/docs/stable/library.html>`_ 문서 또는
C++ ``TORCH_LIBRARY`` API를 통해 PyTorch에 사용자 지정 연산을 등록해야 합니다.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

custom operation은 사용자 지정 연산보다
사용자 정의 연산이 조금 더 어울리지 않을까요?



파이썬에서 사용자 지정 연산자 작성
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

:ref:`python-custom-ops-tutorial`를 참조하십시오.

다음과 같은 경우 파이썬(C++와 반대)에서 사용자 지정 연산자를 작성할 수 있습니다.

- PyTorch가 불투명한 호출이 가능한 것으로 취급하려는 파이썬 함수가 있는데,
특히 ``torch.compile`` 및 ``torch.export``과 같은 경우에는 더욱 그렇습니다.
- C++/CUDA 커널에 대한 파이썬 바인딩이 있으며 PyTorch 서브시스템
(예: ``torch.compile`` 또는 ``torch.autograd``)으로 구성되기를 원합니다.

사용자 지정 C++ 및/또는 CUDA 코드와 PyTorch 통합
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

:ref:`cpp-custom-ops-tutorial`를 참조하십시오.

C++(파이썬과 반대)에서 사용자 지정 연산자를 작성할 수 있는 경우:
- 사용자 지정 C++ 및/또는 CUDA 코드를 가지고 있을 때
- 이 코드를 ``AOTInductor``와 함께 사용하여 파이썬 없이 추론을 수행할 때

사용자 지정 연산자 설명서
^^^^^^^^^^^^^^^^^^^^^^^^^^^

튜토리얼과 이 페이지에서 다루지 않는 정보는 다음을 참조하시기 바랍니다.
`The Custom Operators Manual <https://docs.google.com/document/d/1_W62p8WJOQQUzPsJYa7s701JXt0qf2OfLub2sbkHOaU>`_
(정보를 문서 사이트로 옮기는 작업을 진행 중입니다.)
위의 튜토리얼 중 하나를 먼저 읽은 다음 사용자 지정 연산자 설명서를 참조로 사용하는 것이 좋습니다;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

문장 맨뒤에 ;는 한국어에서는 필요없을거 같습니다

처음부터 끝까지 읽어서는 안 됩니다.

사용자 지정 연산자는 언제 생성해야 합니까?
---------------------------------------
연산이 내장된 파이토치 연산자의 구성으로 표현할 수 있는 경우
사용자 지정 연산자를 만드는 대신 파이썬 함수로 작성하여 호출하세요.
다음과 같은 경우 연산자 등록 API를 사용하여 사용자 지정 연산자를 생성합니다.
PyTorch가 이해하지 못하는 라이브러리(예: 사용자 지정 C/C++ 코드를 호출하는 경우,
커스텀 CUDA 커널 또는 C/C++/CUDA 확장에 대한 파이썬 바인딩).

사용자 지정 연산자를 만들어야 하는 이유는 무엇입니까?
--------------------------------------

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이 줄의 공백은 필요 없는 듯 보입니다

Tensor의 데이터 포인터를 잡아 C/C++/CUDA 커널을 사용할 수 있습니다.
그리고 이를 pybind 커널에 전달합니다. 그러나 이 접근 방식은
autograd, torch.compile, vmap 등과 같은 PyTorch 서브시스템과는 구성되지 않습니다.
PyTorch 서브시스템으로 작업을 구성하려면 연산자 등록 API를 통해 작업을 등록해야 합니다.