soulslicer / STAF

Spatio Temporal Affinity Fields (CVPR 2019)
Other
150 stars 38 forks source link

RTX 3080 compatibility? #25

Open TalBarami opened 3 years ago

TalBarami commented 3 years ago

I can't get STAF to work on my new PC with RTX3080. According to another issue in the main openpose repository they made some changes to make it compatible, I couldn't figure what exactly though.

Thanks in advance!

soulslicer commented 3 years ago

Can you please tell me what the error is? @gineshidalgo99 Perhaps you have some input?

gineshidalgo99 commented 3 years ago

Pretty much the idea is that it has to compile with CUDA 11 / cuDNN 8, which is what 30XX cards need. OpenPose added some fixes to enable cuDNN to work, it'd need to pull those Caffe changes

TalBarami commented 3 years ago

Hey again and thanks for replying. I'm attaching the log trace: build_windows\x64\Release\OpenPoseDemo.exe --model_pose BODY_21A --tracking 1 --render_pose 1 --logging_level 1 --video "C:\Users\owner\Desktop\v.mp4" --write_json "C:\Users\owner\Desktop\asdf" Starting OpenPose demo... Configuring OpenPose... C:\research\STAF\src\openpose\utilities\flagsToOpenPose.cpp:op::flagsToProducer():198 C:\research\STAF\src\openpose\utilities\flagsToOpenPose.cpp:op::flagsToProducerType():161 C:\research\STAF\src\openpose\utilities\flagsToOpenPose.cpp:op::flagsToPoseMode():11 C:\research\STAF\src\openpose\utilities\flagsToOpenPose.cpp:op::flagsToPoseModel():32 C:\research\STAF\src\openpose\utilities\flagsToOpenPose.cpp:op::flagsToScaleMode():83 C:\research\STAF\src\openpose\utilities\flagsToOpenPose.cpp:op::flagsToHeatMapScaleMode():112 C:\research\STAF\src\openpose\utilities\flagsToOpenPose.cpp:op::flagsToDetector():138 C:\research\STAF\src\openpose\utilities\flagsToOpenPose.cpp:op::flagsToDetector():138 Starting thread(s)... C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():102 C:\research\STAF\src\openpose\producer\producer.cpp:op::createProducer():413 C:\research\STAF\src\openpose\wrapper\wrapperAuxiliary.cpp:op::wrapperConfigureSanityChecks():17 C:\research\STAF\src\openpose\wrapper\wrapperAuxiliary.cpp:op::wrapperConfigureSanityChecks():184 Auto-detecting all available GPUs... Detected 2 GPU(s), using 2 of them starting at GPU 0. RUNNING PoseExtractorCaffeStaf::PoseExtractorCaffeStaf RUNNING PoseExtractorCaffeStaf::PoseExtractorCaffeStaf C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():368 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():433 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():449 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():503 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():555 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():599 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():643 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():660 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():677 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():691 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():696 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():712 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():745 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():770 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():775 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():779 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():795 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():796 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():805 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():822 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():842 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():863 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():872 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():876 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():882 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():941 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():957 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():963 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():1039 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():1052 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():1052 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():1062 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():1177 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():1201 C:\research\STAF\include\openpose/wrapper/wrapperAuxiliary.hpp:op::configureThreadManager():1208 C:\research\STAF\include\openpose/wrapper/wrapper.hpp:op::WrapperT<struct op::Datum,class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > >,class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::shared_ptr<class op::Worker<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > > >::exec():439 C:\research\STAF\include\openpose/thread/threadManager.hpp:op::ThreadManager<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::shared_ptr<class op::Worker<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > >,class op::Queue<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::queue<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::deque<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::allocator<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > > > > >::exec():185 C:\research\STAF\include\openpose/thread/queueBase.hpp:op::QueueBase<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::queue<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::deque<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::allocator<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > > > >::addPusher():362 C:\research\STAF\include\openpose/thread/queueBase.hpp:op::QueueBase<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::queue<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::deque<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::allocator<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > > > >::addPusher():362 C:\research\STAF\include\openpose/thread/queueBase.hpp:op::QueueBase<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::queue<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::deque<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::allocator<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > > > >::addPusher():362 C:\research\STAF\include\openpose/thread/queueBase.hpp:op::QueueBase<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::queue<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::deque<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::allocator<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > > > >::addPusher():362 C:\research\STAF\include\openpose/thread/queueBase.hpp:op::QueueBase<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::queue<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::deque<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::allocator<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > > > >::addPusher():362 C:\research\STAF\include\openpose/thread/threadManager.hpp:op::ThreadManager<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::shared_ptr<class op::Worker<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > >,class op::Queue<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::queue<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::deque<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::allocator<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > > > > >::exec():190 C:\research\STAF\include\openpose/thread/thread.hpp:op::Thread<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::shared_ptr<class op::Worker<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > > >::startInThread():137 C:\research\STAF\include\openpose/thread/thread.hpp:op::Thread<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::shared_ptr<class op::Worker<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > > >::startInThread():137 C:\research\STAF\include\openpose/thread/thread.hpp:op::Thread<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::shared_ptr<class op::Worker<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > > >::startInThread():137 C:\research\STAF\include\openpose/thread/thread.hpp:op::Thread<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::shared_ptr<class op::Worker<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > > >::threadFunction():182 C:\research\STAF\include\openpose/thread/thread.hpp:op::Thread<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::shared_ptr<class op::Worker<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > > >::threadFunction():182 C:\research\STAF\include\openpose/thread/thread.hpp:op::Thread<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::shared_ptr<class op::Worker<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > > >::initializationOnThread():167 C:\research\STAF\include\openpose/thread/thread.hpp:op::Thread<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::shared_ptr<class op::Worker<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > > >::startInThread():137 C:\research\STAF\include\openpose/thread/thread.hpp:op::Thread<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::shared_ptr<class op::Worker<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > > >::initializationOnThread():167 C:\research\STAF\include\openpose/thread/thread.hpp:op::Thread<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::shared_ptr<class op::Worker<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > > >::threadFunction():185 C:\research\STAF\include\openpose/thread/thread.hpp:op::Thread<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::shared_ptr<class op::Worker<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > > >::startInThread():137 C:\research\STAF\include\openpose/thread/thread.hpp:op::Thread<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::shared_ptr<class op::Worker<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > > >::threadFunction():182 C:\research\STAF\include\openpose/thread/thread.hpp:op::Thread<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::shared_ptr<class op::Worker<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > > >::threadFunction():182 C:\research\STAF\include\openpose/thread/thread.hpp:op::Thread<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::shared_ptr<class op::Worker<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > > >::initializationOnThread():167 C:\research\STAF\include\openpose/thread/thread.hpp:op::Thread<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::shared_ptr<class op::Worker<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > > >::threadFunction():182 C:\research\STAF\include\openpose/thread/thread.hpp:op::Thread<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::shared_ptr<class op::Worker<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > > >::threadFunction():182 C:\research\STAF\include\openpose/thread/thread.hpp:op::Thread<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::shared_ptr<class op::Worker<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > > >::initializationOnThread():167 C:\research\STAF\include\openpose/thread/thread.hpp:op::Thread<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::shared_ptr<class op::Worker<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > > >::initializationOnThread():167 C:\research\STAF\include\openpose/thread/thread.hpp:op::Thread<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::shared_ptr<class op::Worker<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > > >::threadFunction():185 C:\research\STAF\include\openpose/thread/thread.hpp:op::Thread<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::shared_ptr<class op::Worker<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > > >::threadFunction():185 C:\research\STAF\include\openpose/thread/thread.hpp:op::Thread<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::shared_ptr<class op::Worker<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > > >::initializationOnThread():167 C:\research\STAF\include\openpose/thread/thread.hpp:op::Thread<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::shared_ptr<class op::Worker<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > > >::threadFunction():185 C:\research\STAF\include\openpose/thread/thread.hpp:op::Thread<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > >,class std::shared_ptr<class op::Worker<class std::shared_ptr<class std::vector<class std::shared_ptr<struct op::Datum>,class std::allocator<class std::shared_ptr<struct op::Datum> > > > > > >::threadFunction():185 F0209 00:59:13.957353 18240 pooling_layer.cu:212] Check failed: error == cudaSuccess (48 vs. 0) no kernel image is available for execution on the device *** Check failure stack trace: ***

@gineshidalgo99 , I'm indeed using CUDA 11.2 with cuDNN 8.1. However, when I tried to pull the changes from OpenPose and rebuild the solution I encountered build errors which I couldn't figure how to solve.

soulslicer commented 3 years ago

Odd, it looks like I did commit some changes that should have made it work with 3080: https://github.com/soulslicer/STAF/commit/6c674c9e7c4bce03944f893344035e732904c39c

Wonder if i missed something

TalBarami commented 3 years ago

Maybe there are more changes that needs to be committed? The original openpose repository works properly, so I guess there are differences. I tried to copy the 3rd party libraries manually but it didn't work.