JakobEngel / dso

Direct Sparse Odometry
GNU General Public License v3.0
2.3k stars 908 forks source link

Compiling DSO on ARM processor #31

Closed sunghoon031 closed 7 years ago

sunghoon031 commented 7 years ago

I found that you use SSE optimization, which is not supported in ARM devices...

Do you have any ideas/suggestions for workaround if I would like to compile it on ARM devices (e.g. Odroid)?

BTW, Thank a lot for sharing your source code! It's super cool !! :+1:

JakobEngel commented 7 years ago

Yes - I removed the respective non-SSE versions of the functions where SSE is used, since I didn't want to always have to maintain / adapt two versions during development. However, it should be fairly straight-forward to re-introduce them, especially since SSE is only used in a fairly limited set of functions. If you need the performance (in particular for the CoarseTracker, where it is probably most relevant), you can use NEON instead.

hwiryong-jung commented 7 years ago

On NVIDIA's TX1 using Ubuntu, same issue exists.. (it's also ARM processor : (|)..... )

adroit91 commented 7 years ago

Hi,

I have successfully been able to use it by wrapping with: https://github.com/jratcliff63367/sse2neon

asn567 commented 7 years ago

Hello @adroit91 , I want to use it on a ARM device. But I don't know how to use the code you linked. Could you please tell me how to use it? Thanks very much.

combatpoodle commented 7 years ago

Repeat from #57: Here's a site with some info on converting the Intel SSE instructions to ARM NEON instructions: http://codesuppository.blogspot.com/2015/02/sse2neonh-porting-guide-and-header-file.html, which is referenced above by @adroit91 for the source code only.

I'll likely throw an automated script to do this translation for me in the next day or two, but it's easy enough off the blog post and source.