Post B53bo0KoJbV0hTl41w by RnDanger@infosec.exchange
 (DIR) More posts by RnDanger@infosec.exchange
 (DIR) Post #B53Wkmd6JX6bYUxSMq by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       Finally some progress. But it's baffling.The very first step of the de-embed filter is to execute FFTs of dinFwd to vectorTempBuf3 and dinRev to vectorTempBuf1.It appears that somehow the FFTs trade places in the failure scenario, with the frequency domain version of dinFwd being written to vectorTempBuf1 and dinRev going to vectorTempBuf3.I don't even know where to start debugging this, it smells like something going wrong in the depths of vkFFT with some state that should be per-plan being global or something?
       
 (DIR) Post #B53XdzZvs7SRdunlA0 by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       I tweaked a few things and added some barriers and on one execution (nondeterministically, of course) I got *both* buffers to have the same value, which matches the hash of what should have been in vectorTempBuf1 (dinFwd).
       
 (DIR) Post #B53XpvZ8cKW8fk7Zey by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       Right now I'm using vkFFT 1.3.4, let's see what happens if we update to the upstream develop branch (there hasn't been a release since 1.3.4)
       
 (DIR) Post #B53YTuQKHbRmiI42b2 by penguin42@mastodon.org.uk
       0 likes, 0 repeats
       
       @azonenberg Have you tried using the vulkan validation options?  I think they should be in the normal SDK but I think you have to enable them; https://github.com/KhronosGroup/Vulkan-ValidationLayers
       
 (DIR) Post #B53aiu4K5IVlrg39mK by azonenberg@ioc.exchange
       0 likes, 0 repeats
       
       Well, the dev branch is totally horked so there goes that idea.But... if I swap the two output buffers (FFTing forward to tempBuf1 and reverse to tempBuf3) I get inverted behavior: roughly 85% working and 15% failing.This suggests that whatever race is happening is the *only* cause of my issue which is a good thing... I guess?
       
 (DIR) Post #B53bo0KoJbV0hTl41w by RnDanger@infosec.exchange
       0 likes, 0 repeats
       
       @azonenberg I don't know if this makes sense but can the commands be sent in a different order? (My first thought was about drum rotation and the distances between read and write heads, but i don't assume that's an issue here..😅)