I implemented a simple custom operator running on both CPU & GPU. I have verified its forward & backward calcuation on CPU and the result is in line with expections. However, when I want to test the gpu implementation by moving the input data from CPU to GPU, the program complains this:
mxnet.base.MXNetError: Traceback (most recent call last): File "../src/imperative/imperative.cc", line 90 MXNetError: Operator CustomPooling is not implemented for GPU.
I think the
CMakeLists.txt would add the
custompooling.cu file automatically. In fact, when I introduce some syntax errors into the
.cu file, the compiler does not output any error, so, looks like the
.cu file is not be added into compile correctly.
cmake -GNinja .. && cmake --build . --parallel 12 to compile the MXNet project. Should I delete the old cmake output files and run this compile from fresh?