UCLA-VAST / minimap2-acceleration

Hardware Acceleration of Long Read Pairwise Overlapping in Genome Sequencing: Open Source Repository
http://vast.cs.ucla.edu/sites/default/files/publications/minimap2-acc-approved.pdf
MIT License
32 stars 12 forks source link

Software Emulation Errors - FPGA #4

Closed albertozeni closed 3 years ago

albertozeni commented 3 years ago

Hi all,

I really like your work. I am trying to test the architecture you proposed but I cannot obtain exact results out of the core. I executed the commands you provide in the README, I did not add any other flags to minimap2. I removed the "OPTIMIZE_DSP" from the device kernel as you suggested, but still, the software emulation and hardware provide different results with respect to your testbed. Can you please help me out figuring what is wrong? Should I change something else in the device kernel? I am using SDAccel 2018.3 targeting the FPGA in the F1 instance (vu9p) if it helps.

Best, Alberto

dotkrnl commented 3 years ago

Hi Alberto,

Thank you for your interest in our work! We hope it could help your research :-).

First, I understand that you have a concern about the difference between the execution results from the testbed expected output and the FPGA benchmark (in either C-simulation, co-simulation, or bitstream execution). Please correct me if I am wrong.

There are indeed some discrepancies between the FPGA implementation and the CPU implementation, as expected. This is because of the order of the dynamic programming execution -- instead of choosing the "latest" anchor that is best for the chain, we opt for a different approach in selecting the "previous" anchor for the chain. I cannot recall the exact detail of our implementation but I remember it helped the timing.

However, these discrepancies do not affect the overall correctness of the function. If you look at the chain "score" for the anchors, you may find them the same. As the score remains the same, the quality of the result does not degrade.

Please let us know if this is not the case for you. :-) I will close this issue as there are no actionable tasks on our side but please feel free to reopen it anytime if you have further questions.

Thanks, Jason