-
Notifications
You must be signed in to change notification settings - Fork 754
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
added vmaf_cuda_fex_synchronize, fixed cuda fex flush functions #1332
base: master
Are you sure you want to change the base?
Conversation
Hey @kylophone added a few bug fixes and a new API function, let me know when you want to change anything. @gedoensmax FYI |
Does If you flush the feature extractor, I think that means |
|
Why is an implicit synchronization in A check inside Due to the above i am not sure if the flush has to be public facing or even if it should be public facing. Besides, @kylophone what about multithreading in that case we would also have to check if the score is present, otherwise join threads and see if it is available afterwards right ? |
@gedoensmax Oh yeah, I didn't read it properly, I thought inside Max is right, the throughput would not be hurt, I just dislike implicit synchronization, I would let the user have control. Imagine getting the score for N - 5, that would mean that you need to sync around 5 frames in flight just to get a score that is in the past. |
But how do you guarantee N - 5 being ready ? That speaks for implicit sync which is only done if the dict entry is not present. The way we do sync now is not a sync on a specific picture but rather a full sync of all fex. |
This PR fixes the CUDA feature extractor flush functions and adds the possibility to synchronize the CUDA Feature extractors with the CPU so you can retrieve the VMAF, otherwise the function vmaf_score_at_index would either hang or not return a proper result.
Usage: