Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "thirdparty/sse2neon"]
path = thirdparty/sse2neon
url = https://github.com/jratcliff63367/sse2neon.git
3 changes: 1 addition & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,6 @@ find_package(LibZip QUIET)
find_package(Pangolin 0.2 QUIET)
find_package(OpenCV QUIET)



# flags
add_definitions("-DENABLE_SSE")
set(CMAKE_CXX_FLAGS
Expand Down Expand Up @@ -62,6 +60,7 @@ set(dso_SOURCE_FILES
include_directories(
${PROJECT_SOURCE_DIR}/src
${PROJECT_SOURCE_DIR}/thirdparty/Sophus
${PROJECT_SOURCE_DIR}/thirdparty/sse2neon
${EIGEN3_INCLUDE_DIR}
)

Expand Down
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,9 @@ to unzip the dataset image archives before loading them).
sudo make install
sudo cp lib/zipconf.h /usr/local/include/zipconf.h # (no idea why that is needed).

##### sse2neon (required for ARM builds).
After cloning, just run `git submodule update --init` to include this. It translates Intel-native SSE functions to ARM-native NEON functions during the compilation process.

#### 2.3 Build

cd dso
Expand Down
3 changes: 3 additions & 0 deletions src/FullSystem/CoarseInitializer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@
#include "FullSystem/PixelSelector2.h"
#include "util/nanoflann.h"

#ifndef __SSE3__
#include "SSE2NEON.h"
#endif

namespace dso
{
Expand Down
4 changes: 4 additions & 0 deletions src/FullSystem/CoarseTracker.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,10 @@
#include "IOWrapper/ImageRW.h"
#include <algorithm>

#ifndef __SSE3__
#include "SSE2NEON.h"
#endif

namespace dso
{

Expand Down
4 changes: 4 additions & 0 deletions src/OptimizationBackend/AccumulatedTopHessian.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@
#include "OptimizationBackend/EnergyFunctionalStructs.h"
#include <iostream>

#ifndef __SSE3__
#include "SSE2NEON.h"
#endif

namespace dso
{

Expand Down
4 changes: 3 additions & 1 deletion src/OptimizationBackend/EnergyFunctional.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,9 @@
#include "OptimizationBackend/AccumulatedSCHessian.h"
#include "OptimizationBackend/AccumulatedTopHessian.h"


#ifndef __SSE3__
#include "SSE2NEON.h"
#endif

namespace dso
{
Expand Down
4 changes: 3 additions & 1 deletion src/OptimizationBackend/EnergyFunctionalStructs.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@
#include "FullSystem/HessianBlocks.h"
#include "FullSystem/Residuals.h"


#ifndef __SSE3__
#include "SSE2NEON.h"
#endif

namespace dso
{
Expand Down
3 changes: 3 additions & 0 deletions src/OptimizationBackend/MatrixAccumulators.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@
#pragma once
#include "util/NumType.h"

#ifndef __SSE3__
#include "SSE2NEON.h"
#endif

namespace dso
{
Expand Down
1 change: 1 addition & 0 deletions thirdparty/sse2neon
Submodule sse2neon added at 824a63