Erik Rigtorp
Erik Rigtorp
Hmm, yeah the implementation is partly broken
Right now the copy constructor just copies the raw memory, that only works if std::is_trivally_copyable_v == true. On Tue, Sep 28, 2021 at 1:37 PM Daniel B. ***@***.***> wrote: >...
Well I have partially implemented copy support for non-trivial Functors: https://github.com/rigtorp/Function/blob/master/Function.h#L123 This manager function needs to be used to copy non-trivial functions.
I guess manager function also needs a `Move` operation to implement move assignment. Have you checked how GCC implements std::function? I haven't been using this code that I wrote as...
Yes I also did not find any inline assembler in PyTorch with these instructions. Looks like there is an issue with LLVM codegen for GFX10+.
@xuhuisheng The correct branch for latest AMD version of LLVM is `amd-stg-open`
I think I have tracked this down to inline assemble in the https://github.com/ROCmSoftwarePlatform/rocPRIM library ``` /opt/rocm-3.7.0/rocprim/include/rocprim/intrinsics/warp_shuffle.hpp 59:int __amdgcn_update_dpp(int old, int src, int dpp_ctrl, int row_mask, int bank_mask, bool bound_ctrl) 60:...
@sunway513 Yes I know. Commenting out the offending lines in rocPRIM allows the PyTorch build to proceed much further. See https://github.com/ROCmSoftwarePlatform/rocPRIM/issues/180
Besides the issue in rocPrime there is also this invalid use of inline assembly: ``` [ 86%] Building HIPCC object caffe2/CMakeFiles/torch_hip.dir/__/aten/src/THHUNN/torch_hip_generated_RReLU.hip.o :1:24: error: invalid operand for instruction v_mad_u64_u32 v[2:3], s[10:11],...
@doctorcolinsmith Please drop the fix in develop branch, PyTorch is very close to working on Navi now, we don't want to have to wait for ROCm 3.8!