38,897
edits
No edit summary |
(Updating to match new version of source page) |
||
Line 228: | Line 228: | ||
| Cedar, ''GPU Large'' || 137.16 ||4 || 175.20 || 379.80 ||336.72 || 417.46 || 225.37 || '''490.52''' | | Cedar, ''GPU Large'' || 137.16 ||4 || 175.20 || 379.80 ||336.72 || 417.46 || 225.37 || '''490.52''' | ||
|} | |} | ||
==Custom TensorFlow Operators== | |||
In your research, you may come across [https://github.com/Yang7879/3D-BoNet code that leverages custom operators] that are not part of the core tensorflow distribution, or you might want to [https://www.tensorflow.org/guide/create_op create your own]. In both cases, you will need to compile your custom operators ''before'' submitting your job. To ensure your code will run correctly, follow the steps below. | |||
First, create a [[Python|Python virtual environment]] and install a tensorflow version compatible with your custom operators. Then go to the directory containing the operators source code and follow the next steps according to the version you installed: | |||
===TensorFlow <= 1.4.x=== | |||
If your custom operator '''is''' GPU-enabled: | |||
{{Commands | |||
| module load cuda/<version> | |||
| nvcc <operator>.cu -o <operator>.cu.o -c -O2 -DGOOGLE_CUDA{{=}}1 -x cu -Xcompiler -fPI | |||
| g++ -std{{=}}c++11 <operator>.cpp <operator>.cu.o -o <operator>.so -shared -fPIC -I /<path to python virtual env>/lib/python<version>/site-packages/tensorflow/include -I/<path to python virtual env>/lib/python<version>/site-packages/tensorflow/include/external/nsync/public -I /usr/local/cuda-<version>/include -lcudart -L /usr/local/cuda-<version>/lib64/ | |||
}} | |||
If your custom operator '''is not''' GPU-enabled: | |||
{{Commands | |||
| g++ -std{{=}}c++11 <operator>.cpp -o <operator>.so -shared -fPIC -I /<path to python virtual env>/lib/python<version>/site-packages/tensorflow/include -I/<path to python virtual env>/lib/python<version>/site-packages/tensorflow/include/external/nsync/public | |||
}} | |||
===TensorFlow > 1.4.x=== | |||
If your custom operator '''is''' GPU-enabled: | |||
{{Commands | |||
| module load cuda/<version> | |||
|nvcc <operator>.cu -o <operator>.cu.o -c -O2 -DGOOGLE_CUDA{{=}}1 -x cu -Xcompiler -fPI | |||
|g++ -std{{=}}c++11 <operator>.cpp <operator>.cu.o -o <operator>.so -shared -fPIC -I /<path to python virtual env>/lib/python<version>/site-packages/tensorflow/include -I /usr/local/cuda-<version>/include -I /<path to python virtual env>/lib/python<version>/site-packages/tensorflow/include/external/nsync/public -lcudart -L /usr/local/cuda-<version>/lib64/ -L /<path to python virtual env>/lib/python<version>/site-packages/tensorflow -ltensorflow_framework | |||
}} | |||
If your custom operator '''is not''' GPU-enabled: | |||
{{Commands | |||
|g++ -std{{=}}c++11 <operator>.cpp -o <operator>.so -shared -fPIC -I /<path to python virtual env>/lib/python<version>/site-packages/tensorflow/include -I /<path to python virtual env>/lib/python<version>/site-packages/tensorflow/include/external/nsync/public -L /<path to python virtual env>/lib/python<version>/site-packages/tensorflow -ltensorflow_framework | |||
}} | |||
==Dépannage== | ==Dépannage== |