8000 [jiterator] Jiterate Complex Ops · Issue #74748 · pytorch/pytorch · GitHub
[go: up one dir, main page]

Skip to content

[jiterator] Jiterate Complex Ops #74748

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

Open
kshitij12345 opened this issue Mar 25, 2022 · 1 comment
Open

[jiterator] Jiterate Complex Ops #74748

kshitij12345 opened this issue Mar 25, 2022 · 1 comment
Labels
module: complex Related to complex number support in PyTorch module: jiterator triaged This issue has been looked at a team member, and triaged and prioritized into an appropriate module

Comments

@kshitij12345
Copy link
Collaborator
kshitij12345 commented Mar 25, 2022

🐛 Describe the bug

With jiterator machinery now available, we can use it to remove the ahead of time compilation cost and decrease the CUDA context size introduced by complex dtypes wherever possible.

This issue tracks ops that can potentially be jiterated (mostly unary, binary, pointwise and reduction ops).

NOTE:

  • Not all ops should be jiterated (eg. ops which just change shape or stride meta-data)
  • Some ops which call into external library can't be jiterated.
  • List doesn't directly cover private and backward ops.

(Below list is compiled from OpInfo for ops which support complex dtypes)

  • __radd__
  • __rdiv__
  • __rmatmul__
  • __rmul__
  • __rpow__
  • __rsub__
  • _masked.mean
  • _masked.prod
  • _masked.sum
  • _masked.var
  • abs
  • acos
  • acosh
  • addbmm
  • addcdiv
  • addcmul
  • addmm
  • addmv
  • addr
  • allclose
  • angle
  • any
  • argwhere
  • as_strided
  • asin
  • asinh
  • atan
  • atanh
  • atleast_1d
  • atleast_2d
  • atleast_3d
  • baddbmm
  • bfloat16
  • block_diag
  • bmm
  • bool
  • broadcast_tensors
  • broadcast_to
  • byte
  • cartesian_prod
  • cat
  • char
  • cholesky
  • cholesky_inverse
  • cholesky_solve
  • chunk
  • clone
  • column_stack
  • combinations
  • conj
  • conj_physical
  • contiguous
  • corrcoef
  • cos
  • cosh
  • count_nonzero
  • cov
  • cross
  • cumprod
  • cumsum
  • cumulative_trapezoid
  • diag
  • diag_embed
  • diagflat
  • diagonal
  • diff
  • dist
  • dot
  • double
  • dsplit
  • dstack
  • eig
  • einsum
  • empty_like
  • eq
  • exp
  • expand
  • expand_as
  • flatten
  • flip
  • fliplr
  • flipud
  • float
  • float_power
  • full_like
  • gather
  • geqrf
  • gradient
  • half
  • hsplit
  • hstack
  • index_add
  • index_copy
  • index_fill
  • index_put
  • index_select
  • inner
  • int
  • inverse
  • isclose
  • isfinite
  • isinf
  • isnan
  • isreal
  • istft
  • kron
  • ldexp
  • lerp
  • linalg.cholesky
  • linalg.cholesky_ex
  • linalg.cond
  • linalg.cross
  • linalg.det
  • linalg.eig
  • linalg.eigh
  • linalg.eigvals
  • linalg.eigvalsh
  • linalg.householder_product
  • linalg.inv
  • linalg.inv_ex
  • linalg.lstsq
  • linalg.lu_factor
  • linalg.lu_factor_ex
  • linalg.matrix_norm
  • linalg.matrix_power
  • linalg.matrix_rank
  • linalg.multi_dot
  • linalg.norm
  • linalg.pinv
  • linalg.qr
  • linalg.slogdet
  • linalg.solve
  • linalg.solve_triangular
  • linalg.svd
  • linalg.svdvals
  • linalg.tensorinv
  • linalg.tensorsolve
  • linalg.vector_norm
  • log
  • log10
  • log2
  • log_softmax
  • logical_and
  • logical_not
  • logical_or
  • logical_xor
  • long
  • lu
  • lu_solve
  • lu_unpack
  • mH
  • mT
  • masked_fill
  • masked_scatter
  • masked_select
  • matmul
  • matrix_exp
  • meshgrid
  • mm
  • movedim
  • mv
  • narrow
  • ne
  • neg
  • new_empty
  • new_full
  • new_ones
  • new_zeros
  • nn.functional.feature_alpha_dropout
  • nn.functional.linear
  • nn.functional.normalize
  • nn.functional.pad
  • nn.functional.pairwise_distance
  • nn.functional.pixel_shuffle
  • nn.functional.pixel_unshuffle
  • nn.functional.silu
  • nn.functional.softmin
  • nn.functional.softsign
  • nn.functional.tanhshrink
  • nn.functional.unfold
  • nonzero
  • norm
  • ones_like
  • ormqr
  • outer
  • permute
  • pinverse
  • positive
  • pow
  • prod
  • put
  • qr
  • rand_like
  • randn_like
  • ravel
  • reciprocal
  • renorm
  • repeat
  • repeat_interleave
  • reshape
  • reshape_as
  • resize_
  • resize_as_
  • resolve_conj
  • resolve_neg
  • roll
  • rot90
  • rsqrt
  • rsub
  • scatter
  • scatter_add
  • select
  • sgn
  • short
  • sigmoid
  • sin
  • sinc
  • sinh
  • softmax
  • solve
  • split
  • split_with_sizes
  • sqrt
  • square
  • squeeze
  • stack
  • std
  • std_mean
  • sum_to_size
  • svd
  • symeig
  • t
  • take
  • take_along_dim
  • tan
  • tanh
  • tensor_split
  • tensordot
  • tile
  • to_sparse
  • trace
  • transpose
  • trapezoid
  • trapz
  • triangular_solve
  • tril
  • triu
  • true_divide
  • unfold
  • unsqueeze
  • var
  • var_mean
  • vdot
  • view
  • view_as
  • view_as_real
  • vsplit
  • vstack
  • where
  • zero_
  • zeros_like

cc: @anjali411

Versions

master

cc @ezyang @anjali411 @dylanbespalko @mruberry @lezcano @nikitaved @ngimel

@facebook-github-bot facebook-github-bot added the oncall: jit Add this issue/PR to JIT oncall triage queue label Mar 25, 2022
@kshitij12345 kshitij12345 added module: complex Related to complex number support in PyTorch module: jiterator and removed oncall: jit Add this issue/PR to JIT oncall triage queue labels Mar 25, 2022
@VitalyFedyunin VitalyFedyunin added the triaged This issue has been looked at a team member, and triaged and prioritized into an appropriate module label Mar 25, 2022
pytorchmergebot pushed a commit that referenced this issue Mar 28, 2022
facebook-github-bot pushed a commit that referenced this issue Mar 29, 2022
Summary:
Follows: #74748

GitHub CC:
kshitij12345!!
Pull Request resolved: #74814
Approved by: https://github.com/kshitij12345, https://github.com/anjali411

Test Plan: contbuild & OSS CI, see https://hud.pytorch.org/commit/pytorch/pytorch/9ba553b0fa1ec39e30c7ea7c291497e3c087e5fc

Reviewed By: malfet

Differential Revision: D35188065

fbshipit-source-id: 5d0849b0b2ae572b37ddf704a1519a38232c9ed1
facebook-github-bot pushed a commit that referenced this issue Apr 7, 2022
Summary:
Follows: #74748

cc kshitij12345!

Pull Request resolved: #74948

Reviewed By: malfet

Differential Revision: D35445949

Pulled By: ngimel

fbshipit-source-id: acd921a210fd15cc78046e37532173162daa38b8
pytorchmergebot pushed a commit that referenced this issue Apr 7, 2022
Summary:
Follows: #74748

cc kshitij12345!

Pull Request resolved: #74948

Reviewed By: malfet

Differential Revision: D35445949

Pulled By: ngimel

fbshipit-source-id: acd921a210fd15cc78046e37532173162daa38b8
(cherry picked from commit 7883b8d)
pytorchmergebot pushed a commit that referenced this issue Apr 11, 2022
facebook-github-bot pushed a commit that referenced this issue Apr 11, 2022
Summary:
Follows: #74748

cc kshitij12345!

Pull Request resolved: #75123
Approved by: https://github.com/kshitij12345, https://github.com/anjali411

Test Plan: contbuild & OSS CI, see https://hud.pytorch.org/commit/pytorch/pytorch/9855f1271c33a394be299c0fe131b24753268b7b

Reviewed By: b0noI

Differential Revision: D35550114

fbshipit-source-id: eafbcba8b5f119e9c1fa2b2ecd0a1eb4316c1a17
pytorchmergebot pushed a commit that referenced this issue Apr 15, 2022
facebook-github-bot pushed a commit that referenced this issue Apr 18, 2022
Summary:
Hi!
The PR follows: #74748

GitHub CC:
kshitij12345! :)

Pull Request resolved: #74863
Approved by: https://github.com/anjali411, https://github.com/kshitij12345

Test Plan: contbuild & OSS CI, see https://hud.pytorch.org/commit/pytorch/pytorch/fa2c7e2ede1a7313feb489e64b1806fef7a3c232

Reviewed By: mehtanirav

Differential Revision: D35721637

fbshipit-source-id: 62ef35bb84a2e6521b3171bbd9d3121c0236ca0f
pytorchmergebot pushed a commit that referenced this issue Apr 26, 2022
facebook-github-bot pushed a commit that referenced this issue Apr 27, 2022
Summary:
Follows #74748 and #74537

cc kshitij12345!

Pull Request resolved: #76289
Approved by: https://github.com/anjali411

Test Plan: contbuild & OSS CI, see https://hud.pytorch.org/commit/pytorch/pytorch/305a9cc00a58fe7f265e1c6331f197f61a2390b5

Reviewed By: osalpekar

Differential Revision: D35971220

fbshipit-source-id: bce0fb21b4d23ad8f9081a0b30a0d096829dc8c3
@lezcano
Copy link
Collaborator
lezcano commented May 14, 2022

fwiw, I don't think that you can jiterate almost any of the linalg. operations.

facebook-github-bot pushed a commit that referenced this issue May 18, 2022
Summary:
Follows #74748 and #74537

cc kshitij12345

Pull Request resolved: #76692
Approved by: https://github.com/kshitij12345, https://github.com/anjali411

Test Plan: contbuild & OSS CI, see https://hud.pytorch.org/commit/pytorch/pytorch/387cccb1e9accb5db861fa4ae4a249c8d0c56778

Reviewed By: b0noI

Differential Revision: D36451820

Pulled By: b0noI

fbshipit-source-id: 4348cbbd195abf5c23308ab51d477932c95448cd
facebook-github-bot pushed a commit that referenced this issue May 24, 2022
Summary:
Follows #74537 and #74748

cc kshitij12345

Pull Request resolved: #77802
Approved by: https://github.com/kshitij12345, https://github.com/ngimel

Test Plan: contbuild & OSS CI, see https://hud.pytorch.org/commit/pytorch/pytorch/a136408adad60e486612686c4a3ba4eb3bf73775

Reviewed By: seemethere

Differential Revision: D36610717

fbshipit-source-id: 317004880c2b9f2e9ad6750b176e312c490c8880
facebook-github-bot pushed a commit that referenced this issue May 25, 2022
Summary:
Follows #74537 and #74748

cc kshitij12345

Pull Request resolved: #77606
Approved by: https://github.com/kshitij12345, https://github.com/ngimel

Test Plan: contbuild & OSS CI, see https://hud.pytorch.org/commit/pytorch/pytorch/6f4d2007255a7606e80492b063fed2fe672a5bd8

Reviewed By: mehtanirav

Differential Revision: D36633663

fbshipit-source-id: 875cf9cf0402bf3d611f2345d385c14ef2cf0018
swang392 pushed a commit that referenced this issue May 25, 2022
facebook-github-bot pushed a commit that referenced this issue Jun 8, 2022
Summary:
Ref: #78458
Follows: #74537 and #74748

cc kshitij12345 anjali411 :)

Pull Request resolved: #78718
Approved by: https://github.com/anjali411, https://github.com/kshitij12345

Test Plan: contbuild & OSS CI, see https://hud.pytorch.org/commit/pytorch/pytorch/5b32c34450d69d677d2e721059e381134303b3fa

Reviewed By: osalpekar

Differential Revision: D37010871

Pulled By: osalpekar

fbshipit-source-id: 1f63f299bb25140d5538be6c602bdd67f6bf8ddd
facebook-github-bot pushed a commit that referenced this issue Jul 5, 2022
Summary:
Follows: #74537 and #74748

cc kshitij12345 anjali411 :)

Pull Request resolved: #80030
Approved by: https://github.com/kshitij12345, https://github.com/anjali411

Test Plan: contbuild & OSS CI, see https://hud.pytorch.org/commit/pytorch/pytorch/7002621a4f3b7a8d1f0fb49a6ca257d4f9b5326f

Reviewed By: b0noI

Differential Revision: D37578914

fbshipit-source-id: 8a1967bd1e56bae573ac1666fcc582df1e193333
pytorchmergebot pushed a commit that referenced this issue Nov 30, 2022
kulinseth pushed a commit to kulinseth/pytorch that referenced this issue Dec 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
module: complex Related to complex number support in PyTorch module: jiterator triaged This issue has been looked at a team member, and triaged and prioritized into an appropriate module
Projects
None yet
Development

No branches or pull requests

4 participants
0