Spaces:
Runtime error
Runtime error
| // Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved. | |
| // | |
| // NVIDIA CORPORATION and its licensors retain all intellectual property | |
| // and proprietary rights in and to this software, related documentation | |
| // and any modifications thereto. Any use, reproduction, disclosure or | |
| // distribution of this software and related documentation without an express | |
| // license agreement from NVIDIA CORPORATION is strictly prohibited. | |
| //------------------------------------------------------------------------ | |
| // CUDA kernel parameters. | |
| struct upfirdn2d_kernel_params | |
| { | |
| const void* x; | |
| const float* f; | |
| void* y; | |
| int2 up; | |
| int2 down; | |
| int2 pad0; | |
| int flip; | |
| float gain; | |
| int4 inSize; // [width, height, channel, batch] | |
| int4 inStride; | |
| int2 filterSize; // [width, height] | |
| int2 filterStride; | |
| int4 outSize; // [width, height, channel, batch] | |
| int4 outStride; | |
| int sizeMinor; | |
| int sizeMajor; | |
| int loopMinor; | |
| int loopMajor; | |
| int loopX; | |
| int launchMinor; | |
| int launchMajor; | |
| }; | |
| //------------------------------------------------------------------------ | |
| // CUDA kernel specialization. | |
| struct upfirdn2d_kernel_spec | |
| { | |
| void* kernel; | |
| int tileOutW; | |
| int tileOutH; | |
| int loopMinor; | |
| int loopX; | |
| }; | |
| //------------------------------------------------------------------------ | |
| // CUDA kernel selection. | |
| template <class T> upfirdn2d_kernel_spec choose_upfirdn2d_kernel(const upfirdn2d_kernel_params& p); | |
| //------------------------------------------------------------------------ | |