Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
e11e8f3
add nnv folder which contains vnnlib and onnx files.
ytsao Nov 13, 2025
17194cd
add networks (onnx) and their properties (vnnlib).
ytsao Nov 15, 2025
206161e
add .vnnlib and .onnx file format and path.
ytsao Nov 15, 2025
d006d07
add tag WITH_NNV, and input arguments about vnnlib_filename, and onnx…
ytsao Nov 15, 2025
946fbbd
finished nnv related parsers.
ytsao Nov 24, 2025
32d16b8
update onnx_parse argument.
ytsao Dec 14, 2025
ea31eaa
remove some networks and properties.
ytsao Dec 14, 2025
8a22e90
create nnv.hpp to combine onnx and vnnlib formulas
ytsao Dec 19, 2025
a3ad8f5
avoid copying formulas in nnv.hpp
ytsao Dec 19, 2025
54663c4
update solver output and add a new option - epsilon
ytsao Jan 16, 2026
5aed998
Merge remote-tracking branch 'origin' into nnv
ytsao Jan 16, 2026
e535861
add a new option - epsilon
ytsao Jan 16, 2026
024e9f9
add vnnlib testing instance
ytsao Jan 16, 2026
8028a8b
add fbarebone algorithm
ytsao Jan 16, 2026
d11ca57
fix merge compile error
ytsao Jan 16, 2026
a448fab
add fbarebone algorithm
ytsao Jan 23, 2026
1cad238
add a new option for fbarebone
ytsao Jan 23, 2026
f0dde43
fix bug
ytsao Jan 24, 2026
fa524dd
add epsilon to be the argument
ytsao Jan 24, 2026
41b862f
update floating point propagation on cpu
ytsao Feb 16, 2026
e58f996
update
ytsao Mar 6, 2026
bed594c
add floating point instance, Brown-05.fzn
ytsao Mar 6, 2026
60965ac
add .smt2 file format
ytsao Mar 18, 2026
ba3d280
define abstract floating-point type to fit different configurations, …
ytsao Mar 28, 2026
d69eff3
add vnnlib_path and onnx_path flags for nnv bench.
ytsao Mar 30, 2026
026f54d
remove fextract, use extract, and add a list of solutions
ytsao Mar 30, 2026
4738e6e
remove is_fextractable
ytsao Apr 1, 2026
bff2a60
merge from main
ytsao Apr 1, 2026
b1f4901
update config statements
ytsao Apr 1, 2026
0144ad4
remove log for debugging
ytsao Apr 3, 2026
e214e4f
fix to run single smt2 file
ytsao Apr 3, 2026
3b3b115
update
ytsao Apr 23, 2026
23aea45
update input-width-ordering
ytsao May 11, 2026
babfa5a
fix timeout condition
ytsao May 11, 2026
7408c7c
update
ytsao May 11, 2026
e4a7f0f
define search strategy for neural network verification
ytsao May 14, 2026
b85cc40
update fbarebones
ytsao May 16, 2026
d5790f0
Add UASS for CPU & GPU version
ytsao May 24, 2026
4a8ca30
update fbarebones and the interface of smt2 parser
ytsao May 28, 2026
cc19af1
add gradient information in fbarebones, and hidden neurons informatio…
ytsao Jun 8, 2026
dc4cff5
APLAS version
ytsao Jul 1, 2026
2e2a9ad
update cpu version and add gradient related library to gpu version
ytsao Aug 4, 2026
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
23 changes: 22 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ option(LOCAL_DEPS "LOCAL_DEPS" OFF)
option(TURBO_VERBOSE "Compile with verbose output" ON)
option(WITH_ASAN "Compile with the Address Sanitizer to check for memory corruption errors" OFF)
option(WITH_XCSP3PARSER "Add support for parsing XCSP3 .xml files" ON)
option(WITH_NNV "Add support for neural network verification .onnx and .vnnlib" ON)
option(NO_CONCURRENT_MANAGED_MEMORY "Add support for platform not supporting concurrent managed access to memory on GPUs (use pinned memory instead)." OFF)
option(TURBO_BUILD_DOC "Build the documentation of Turbo." OFF)
option(TURBO_IPC_ABSTRACT_DOMAIN "Use the interval propagator completion (PC) abstract domain instead of PIR." OFF)
Expand Down Expand Up @@ -105,11 +106,31 @@ if(WITH_XCSP3PARSER)
target_compile_definitions(turbo PRIVATE WITH_XCSP3PARSER)
endif()

if(WITH_NNV)
target_compile_definitions(turbo PRIVATE WITH_NNV)
if(GPU)
get_filename_component(ONNXRUNTIME_ROOT
"${CMAKE_CURRENT_LIST_DIR}/../lala-parsing/include/lala/onnxruntime-linux-x64-gpu-1.19.2"
ABSOLUTE
)
# set(ONNXRUNTIME_ROOT "${CMAKE_CURRENT_LIST_DIR}/../lala-parsing/include/lala/onnxruntime-linux-x64-gpu-1.26.0")
include_directories(${ONNXRUNTIME_ROOT}/include)
add_library(ort_gpu SHARED IMPORTED)
set_target_properties(ort_gpu PROPERTIES
IMPORTED_LOCATION "${ONNXRUNTIME_ROOT}/lib/libonnxruntime.so"
)
endif()
endif()

if(NO_CONCURRENT_MANAGED_MEMORY)
target_compile_definitions(turbo PRIVATE NO_CONCURRENT_MANAGED_MEMORY)
endif()

target_link_libraries(turbo PRIVATE lala_parsing lala_pc lala_power)
if(GPU AND WITH_NNV)
target_link_libraries(turbo PRIVATE lala_parsing lala_pc lala_power ort_gpu cuda cudart)
else()
target_link_libraries(turbo PRIVATE lala_parsing lala_pc lala_power)
endif()
target_link_options(turbo PRIVATE
$<$<AND:$<BOOL:${WITH_ASAN}>,$<CXX_COMPILER_ID:GNU>>:-fsanitize=address;-static-libasan>
$<$<AND:$<BOOL:${WITH_ASAN}>,$<CXX_COMPILER_ID:Clang>>:-fsanitize=address>
Expand Down
Loading