JakobEngel / dso

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

Compilation on Jetson TK1 #57

Closed aiarcade closed 7 years ago

aiarcade commented 7 years ago

I am trying to compile DSO on jetson tk1 (armhf) . But sse flags are enabled. So the compilation of Optimaztion code is failed. Is any work around available ?

[ 4%] [ 8%] Building CXX object CMakeFiles/dso.dir/src/FullSystem/FullSystem.cpp.o Building CXX object CMakeFiles/dso.dir/src/FullSystem/FullSystemOptimize.cpp.o In file included from /home/ubuntu/autoboat/packs/dso/src/FullSystem/CoarseTracker.h:32:0, from /home/ubuntu/autoboat/packs/dso/src/FullSystem/FullSystem.cpp:47: /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:121:11: error: ‘__m128’ does not name a type const __m128 val) ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:121:18: error: ISO C++ forbids declaration of ‘val’ with no type [-fpermissive] const __m128 val) ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:137:11: error: ‘__m128’ does not name a type const __m128 val) ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:137:18: error: ISO C++ forbids declaration of ‘val’ with no type [-fpermissive] const __m128 val) ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h: In member function ‘void dso::Accumulator11::updateSSE(int)’: /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:123:56: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(SSEData, _mm_add_ps(_mm_load_ps(SSEData),val)); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:123:61: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(SSEData, _mm_add_ps(_mm_load_ps(SSEData),val)); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:123:62: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(SSEData, _mm_add_ps(_mm_load_ps(SSEData),val)); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h: In member function ‘void dso::Accumulator11::updateSSENoShift(int)’: /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:139:56: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(SSEData, _mm_add_ps(_mm_load_ps(SSEData),val)); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:139:61: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(SSEData, _mm_add_ps(_mm_load_ps(SSEData),val)); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:139:62: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(SSEData, _mm_add_ps(_mm_load_ps(SSEData),val)); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h: In member function ‘void dso::Accumulator11::shiftUp(bool)’: /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:157:59: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(SSEData1k, _mm_add_ps(_mm_load_ps(SSEData),_mm_load_ps(SSEData1k))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:157:83: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(SSEData1k, _mm_add_ps(_mm_load_ps(SSEData),_mm_load_ps(SSEData1k))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:157:84: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(SSEData1k, _mm_add_ps(_mm_load_ps(SSEData),_mm_load_ps(SSEData1k))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:164:61: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(SSEData1m, _mm_add_ps(_mm_load_ps(SSEData1k),_mm_load_ps(SSEData1m))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:164:85: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(SSEData1m, _mm_add_ps(_mm_load_ps(SSEData1k),_mm_load_ps(SSEData1m))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:164:86: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(SSEData1m, _mm_add_ps(_mm_load_ps(SSEData1k),_mm_load_ps(SSEData1m))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h: At global scope: /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:283:11: error: ‘__m128’ does not name a type const __m128 J0,const __m128 J1, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:283:18: error: ISO C++ forbids declaration of ‘J0’ with no type [-fpermissive] const __m128 J0,const __m128 J1, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:283:27: error: ‘__m128’ does not name a type const __m128 J0,const __m128 J1, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:283:34: error: ISO C++ forbids declaration of ‘J1’ with no type [-fpermissive] const __m128 J0,const __m128 J1, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:284:11: error: ‘__m128’ does not name a type const __m128 J2,const __m128 J3, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:284:18: error: ISO C++ forbids declaration of ‘J2’ with no type [-fpermissive] const __m128 J2,const __m128 J3, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:284:27: error: ‘__m128’ does not name a type const __m128 J2,const __m128 J3, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:284:34: error: ISO C++ forbids declaration of ‘J3’ with no type [-fpermissive] const __m128 J2,const __m128 J3, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:285:11: error: ‘__m128’ does not name a type const __m128 J4,const __m128 J5, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:285:18: error: ISO C++ forbids declaration of ‘J4’ with no type [-fpermissive] const __m128 J4,const __m128 J5, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:285:27: error: ‘__m128’ does not name a type const __m128 J4,const __m128 J5, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:285:34: error: ISO C++ forbids declaration of ‘J5’ with no type [-fpermissive] const __m128 J4,const __m128 J5, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:286:11: error: ‘__m128’ does not name a type const __m128 J6,const __m128 J7, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:286:18: error: ISO C++ forbids declaration of ‘J6’ with no type [-fpermissive] const __m128 J6,const __m128 J7, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:286:27: error: ‘__m128’ does not name a type const __m128 J6,const __m128 J7, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:286:34: error: ISO C++ forbids declaration of ‘J7’ with no type [-fpermissive] const __m128 J6,const __m128 J7, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:287:11: error: ‘__m128’ does not name a type const __m128 J8,const __m128 J9, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:287:18: error: ISO C++ forbids declaration of ‘J8’ with no type [-fpermissive] const __m128 J8,const __m128 J9, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:287:27: error: ‘__m128’ does not name a type const __m128 J8,const __m128 J9, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:287:34: error: ISO C++ forbids declaration of ‘J9’ with no type [-fpermissive] const __m128 J8,const __m128 J9, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:288:11: error: ‘__m128’ does not name a type const __m128 J10,const __m128 J11, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:288:18: error: ISO C++ forbids declaration of ‘J10’ with no type [-fpermissive] const __m128 J10,const __m128 J11, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:288:28: error: ‘__m128’ does not name a type const __m128 J10,const __m128 J11, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:288:35: error: ISO C++ forbids declaration of ‘J11’ with no type [-fpermissive] const __m128 J10,const __m128 J11, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:289:11: error: ‘__m128’ does not name a type const __m128 J12,const __m128 J13) ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:289:18: error: ISO C++ forbids declaration of ‘J12’ with no type [-fpermissive] const __m128 J12,const __m128 J13) ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:289:28: error: ‘__m128’ does not name a type const __m128 J12,const __m128 J13) ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:289:35: error: ISO C++ forbids declaration of ‘J13’ with no type [-fpermissive] const __m128 J12,const __m128 J13) ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h: In member function ‘void dso::Accumulator14::updateSSE(int, int, int, int, int, int, int, int, int, int, int, int, int, int)’: /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:292:46: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0,J0))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:292:64: error: ‘_mm_mul_ps’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0,J0))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:292:65: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0,J0))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:292:66: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0,J0))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h: In member function ‘void dso::Accumulator14::shiftUp(bool)’: /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:565:68: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(SSEData1k+4*i, _mm_add_ps(_mm_load_ps(SSEData+4*i),_mm_load_ps(SSEData1k+4*i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:565:96: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(SSEData1k+4*i, _mm_add_ps(_mm_load_ps(SSEData+4*i),_mm_load_ps(SSEData1k+4*i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:565:97: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(SSEData1k+4*i, _mm_add_ps(_mm_load_ps(SSEData+4*i),_mm_load_ps(SSEData1k+4*i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:574:70: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(SSEData1m+4*i, _mm_add_ps(_mm_load_ps(SSEData1k+4*i),_mm_load_ps(SSEData1m+4*i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:574:98: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(SSEData1m+4*i, _mm_add_ps(_mm_load_ps(SSEData1k+4*i),_mm_load_ps(SSEData1m+4*i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:574:99: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(SSEData1m+4*i, _mm_add_ps(_mm_load_ps(SSEData1k+4*i),_mm_load_ps(SSEData1m+4*i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h: In member function ‘void dso::AccumulatorApprox::shiftUp(bool)’: /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:939:58: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(Data1k+i, _mm_add_ps(_mm_load_ps(Data+i),_mm_load_ps(Data1k+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:939:81: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(Data1k+i, _mm_add_ps(_mm_load_ps(Data+i),_mm_load_ps(Data1k+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:939:82: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(Data1k+i, _mm_add_ps(_mm_load_ps(Data+i),_mm_load_ps(Data1k+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:941:76: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(TopRight_Data1k+i, _mm_add_ps(_mm_load_ps(TopRight_Data+i),_mm_load_ps(TopRight_Data1k+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:941:108: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(TopRight_Data1k+i, _mm_add_ps(_mm_load_ps(TopRight_Data+i),_mm_load_ps(TopRight_Data1k+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:941:109: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(TopRight_Data1k+i, _mm_add_ps(_mm_load_ps(TopRight_Data+i),_mm_load_ps(TopRight_Data1k+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:943:76: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(BotRight_Data1k+i, _mm_add_ps(_mm_load_ps(BotRight_Data+i),_mm_load_ps(BotRight_Data1k+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:943:108: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(BotRight_Data1k+i, _mm_add_ps(_mm_load_ps(BotRight_Data+i),_mm_load_ps(BotRight_Data1k+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:943:109: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(BotRight_Data1k+i, _mm_add_ps(_mm_load_ps(BotRight_Data+i),_mm_load_ps(BotRight_Data1k+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:956:60: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(Data1m+i, _mm_add_ps(_mm_load_ps(Data1k+i),_mm_load_ps(Data1m+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:956:83: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(Data1m+i, _mm_add_ps(_mm_load_ps(Data1k+i),_mm_load_ps(Data1m+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:956:84: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(Data1m+i, _mm_add_ps(_mm_load_ps(Data1k+i),_mm_load_ps(Data1m+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:958:78: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(TopRight_Data1m+i, _mm_add_ps(_mm_load_ps(TopRight_Data1k+i),_mm_load_ps(TopRight_Data1m+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:958:110: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(TopRight_Data1m+i, _mm_add_ps(_mm_load_ps(TopRight_Data1k+i),_mm_load_ps(TopRight_Data1m+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:958:111: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(TopRight_Data1m+i, _mm_add_ps(_mm_load_ps(TopRight_Data1k+i),_mm_load_ps(TopRight_Data1m+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:960:78: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(BotRight_Data1m+i, _mm_add_ps(_mm_load_ps(BotRight_Data1k+i),_mm_load_ps(BotRight_Data1m+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:960:110: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(BotRight_Data1m+i, _mm_add_ps(_mm_load_ps(BotRight_Data1k+i),_mm_load_ps(BotRight_Data1m+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:960:111: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(BotRight_Data1m+i, _mm_add_ps(_mm_load_ps(BotRight_Data1k+i),_mm_load_ps(BotRight_Data1m+i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h: At global scope: /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1018:11: error: ‘__m128’ does not name a type const __m128 J0,const __m128 J1, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1018:18: error: ISO C++ forbids declaration of ‘J0’ with no type [-fpermissive] const __m128 J0,const __m128 J1, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1018:27: error: ‘__m128’ does not name a type const __m128 J0,const __m128 J1, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1018:34: error: ISO C++ forbids declaration of ‘J1’ with no type [-fpermissive] const __m128 J0,const __m128 J1, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1019:11: error: ‘__m128’ does not name a type const __m128 J2,const __m128 J3, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1019:18: error: ISO C++ forbids declaration of ‘J2’ with no type [-fpermissive] const __m128 J2,const __m128 J3, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1019:27: error: ‘__m128’ does not name a type const __m128 J2,const __m128 J3, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1019:34: error: ISO C++ forbids declaration of ‘J3’ with no type [-fpermissive] const __m128 J2,const __m128 J3, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1020:11: error: ‘__m128’ does not name a type const __m128 J4,const __m128 J5, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1020:18: error: ISO C++ forbids declaration of ‘J4’ with no type [-fpermissive] const __m128 J4,const __m128 J5, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1020:27: error: ‘__m128’ does not name a type const __m128 J4,const __m128 J5, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1020:34: error: ISO C++ forbids declaration of ‘J5’ with no type [-fpermissive] const __m128 J4,const __m128 J5, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1021:11: error: ‘__m128’ does not name a type const __m128 J6,const __m128 J7, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1021:18: error: ISO C++ forbids declaration of ‘J6’ with no type [-fpermissive] const __m128 J6,const __m128 J7, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1021:27: error: ‘__m128’ does not name a type const __m128 J6,const __m128 J7, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1021:34: error: ISO C++ forbids declaration of ‘J7’ with no type [-fpermissive] const __m128 J6,const __m128 J7, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1022:11: error: ‘__m128’ does not name a type const __m128 J8) ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1022:18: error: ISO C++ forbids declaration of ‘J8’ with no type [-fpermissive] const __m128 J8) ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1089:11: error: ‘__m128’ does not name a type const __m128 J0,const __m128 J1, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1089:18: error: ISO C++ forbids declaration of ‘J0’ with no type [-fpermissive] const __m128 J0,const __m128 J1, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1089:27: error: ‘__m128’ does not name a type const __m128 J0,const __m128 J1, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1089:34: error: ISO C++ forbids declaration of ‘J1’ with no type [-fpermissive] const __m128 J0,const __m128 J1, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1090:11: error: ‘__m128’ does not name a type const __m128 J2,const __m128 J3, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1090:18: error: ISO C++ forbids declaration of ‘J2’ with no type [-fpermissive] const __m128 J2,const __m128 J3, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1090:27: error: ‘__m128’ does not name a type const __m128 J2,const __m128 J3, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1090:34: error: ISO C++ forbids declaration of ‘J3’ with no type [-fpermissive] const __m128 J2,const __m128 J3, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1091:11: error: ‘__m128’ does not name a type const __m128 J4,const __m128 J5, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1091:18: error: ISO C++ forbids declaration of ‘J4’ with no type [-fpermissive] const __m128 J4,const __m128 J5, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1091:27: error: ‘__m128’ does not name a type const __m128 J4,const __m128 J5, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1091:34: error: ISO C++ forbids declaration of ‘J5’ with no type [-fpermissive] const __m128 J4,const __m128 J5, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1092:11: error: ‘__m128’ does not name a type const __m128 J6,const __m128 J7, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1092:18: error: ISO C++ forbids declaration of ‘J6’ with no type [-fpermissive] const __m128 J6,const __m128 J7, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1092:27: error: ‘__m128’ does not name a type const __m128 J6,const __m128 J7, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1092:34: error: ISO C++ forbids declaration of ‘J7’ with no type [-fpermissive] const __m128 J6,const __m128 J7, ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1093:11: error: ‘__m128’ does not name a type const __m128 J8, const __m128 w) ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1093:18: error: ISO C++ forbids declaration of ‘J8’ with no type [-fpermissive] const __m128 J8, const __m128 w) ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1093:28: error: ‘__m128’ does not name a type const __m128 J8, const __m128 w) ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1093:35: error: ISO C++ forbids declaration of ‘w’ with no type [-fpermissive] const __m128 J8, const __m128 w) ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h: In member function ‘void dso::Accumulator9::updateSSE(int, int, int, int, int, int, int, int, int)’: /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1025:46: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0,J0))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1025:64: error: ‘_mm_mul_ps’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0,J0))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1025:65: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0,J0))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1025:66: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0,J0))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h: In member function ‘void dso::Accumulator9::updateSSE_eighted(int, int, int, int, int, int, int, int, int, int)’: /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1097:4: error: ‘__m128’ was not declared in this scope __m128 J0w = _mm_mul_ps(J0,w); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1097:11: error: expected ‘;’ before ‘J0w’ __m128 J0w = _mm_mul_ps(J0,w); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1098:46: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0w,J0))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1098:59: error: ‘J0w’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0w,J0))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1098:65: error: ‘_mm_mul_ps’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0w,J0))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1098:66: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0w,J0))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1098:67: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J0w,J0))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1108:11: error: expected ‘;’ before ‘J1w’ __m128 J1w = _mm_mul_ps(J1,w); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1109:59: error: ‘J1w’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J1w,J1))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1118:11: error: expected ‘;’ before ‘J2w’ __m128 J2w = _mm_mul_ps(J2,w); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1119:59: error: ‘J2w’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J2w,J2))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1127:11: error: expected ‘;’ before ‘J3w’ __m128 J3w = _mm_mul_ps(J3,w); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1128:59: error: ‘J3w’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J3w,J3))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1135:11: error: expected ‘;’ before ‘J4w’ __m128 J4w = _mm_mul_ps(J4,w); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1136:59: error: ‘J4w’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J4w,J4))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1142:11: error: expected ‘;’ before ‘J5w’ __m128 J5w = _mm_mul_ps(J5,w); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1143:59: error: ‘J5w’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J5w,J5))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1148:11: error: expected ‘;’ before ‘J6w’ __m128 J6w = _mm_mul_ps(J6,w); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1149:59: error: ‘J6w’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J6w,J6))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1153:11: error: expected ‘;’ before ‘J7w’ __m128 J7w = _mm_mul_ps(J7,w); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1154:59: error: ‘J7w’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J7w,J7))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1157:11: error: expected ‘;’ before ‘J8w’ __m128 J8w = _mm_mul_ps(J8,w); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1158:59: error: ‘J8w’ was not declared in this scope _mm_store_ps(pt, _mm_add_ps(_mm_load_ps(pt),_mm_mul_ps(J8w,J8))); pt+=4; ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h: In member function ‘void dso::Accumulator9::shiftUp(bool)’: /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1327:68: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(SSEData1k+4*i, _mm_add_ps(_mm_load_ps(SSEData+4*i),_mm_load_ps(SSEData1k+4*i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1327:96: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(SSEData1k+4*i, _mm_add_ps(_mm_load_ps(SSEData+4*i),_mm_load_ps(SSEData1k+4*i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1327:97: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(SSEData1k+4*i, _mm_add_ps(_mm_load_ps(SSEData+4*i),_mm_load_ps(SSEData1k+4*i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1336:70: error: ‘_mm_load_ps’ was not declared in this scope _mm_store_ps(SSEData1m+4*i, _mm_add_ps(_mm_load_ps(SSEData1k+4*i),_mm_load_ps(SSEData1m+4*i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1336:98: error: ‘_mm_add_ps’ was not declared in this scope _mm_store_ps(SSEData1m+4*i, _mm_add_ps(_mm_load_ps(SSEData1k+4*i),_mm_load_ps(SSEData1m+4*i))); ^ /home/ubuntu/autoboat/packs/dso/src/OptimizationBackend/MatrixAccumulators.h:1336:99: error: ‘_mm_store_ps’ was not declared in this scope _mm_store_ps(SSEData1m+4*i, _mm_add_ps(_mm_load_ps(SSEData1k+4*i),_mm_load_ps(SSEData1m+4*i))); ^ make[2]: *** [CMakeFiles/dso.dir/src/FullSystem/FullSystem.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [CMakeFiles/dso.dir/all] Error 2 make: *** [all] Error 2

s3r637 commented 7 years ago

Hey @maheshcn,

I'm not totally sure but... DSO is using some Intel types (like __m128) which may aren't compatible with arm processors. Two possible solutions come into my mind:

  1. look for cross compilation support, maybe the compile or preprocessors is able to replace them during compilation with the target types 2.do-it-yourself, check for equivalent types and replace them with simple command line tools

Maybe this helps

combatpoodle commented 7 years ago

This is a repeat of #31 - 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

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.

combatpoodle commented 7 years ago

Easier than expected - just add the header and go. #59 should take care of it.

aiarcade commented 7 years ago

checkout the version https://github.com/israelshirk/dso copy sse2neon to thirdparty folder . add -mfpu=neon also in the flags. Install gcc-multilib g++-multilib . It works with jetson tk1 L4T.

JakobEngel commented 7 years ago

merged the pull request, seems to be alright now :) thanks to israelshirk!