Skip to content

Convolution for complex tensors #71108

@anjali411

Description

@anjali411

🚀 The feature, motivation and pitch

Convolution operation is currently unsupported for complex types since cuDNN (the library we call into) doesn't support complex. However there have been several requests to add complex convolution. One of the recent requests was from an internal team who need complex convolution to multiply two polynomials (equivalent to convolution of their roots).

As a way to unblock people, we can start by implementing complex convolution as three real convolutions. And then, if needed, add specialized kernels for better performance.

  • conv1d
  • conv2d
  • conv3d
  • conv_transpose1d
  • conv_transpose2d
  • conv_transpose3d

Alternatives

No response

Additional context

No response

cc @ezyang @gchanan @zou3519 @bdhirsh @anjali411 @dylanbespalko @mruberry @lezcano @nikitaved

Metadata

Metadata

Assignees

Labels

featureA request for a proper, new feature.high prioritymodule: complexRelated to complex number support in PyTorchmodule: convolutionProblems related to convolutions (THNN, THCUNN, CuDNN)triagedThis issue has been looked at a team member, and triaged and prioritized into an appropriate module

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions