1. remove sudo from the cleanup step for Linux so that we don't need the sudo access for vstsagent build user
2. a minor fix in the install_ubuntu.sh to make the image smaller for openvino
* Bump onnx to latest
Update onnx.in.proto with changes for SparseTensor.
* add temp skip tests
* remove passed tests from skip list
* skip more tests for new ops in opset 11
* skip crashing tests
* update handling of new attribute types sparse tensor and sparse tensors
* advance onnx commit and remove skip cpu_flaky_tests
* temporarily skip yolo3 model test due to resize opset10 shape inference regression
* update proto for onnxruntime server
* advance onnx commit further
1. Add openvino GPU nightly build pipeline, this test is running on Intel Up square Edge device. The device are host locally not from Azure VM. We persist a smaller model test data on Edge device.
2. Update the build condition for openvino GPU so it works for GPU_FP32, GPU_FP16
3. add option to install_ubuntu.sh to exclude the package used for nuphar, so that we can save some disk space as the Edge device usually have limited disk space.
Enable Nuphar EP docker build
Revert back to LLVM 6.0.1
Reinstate disabled Softmax tests caused by LLVM 8.0.1
Reinstate Nuphar Python test due to stale sympy version
Increase build timeout of Linux CI
* remove memory copy between CUDA and TRT
* add info to RegisterExecutionProvider input
* use new IDeviceAllocator for trt allocator
* remove SetDefaultInputsMemoryType from TRT EP
* remove onnx-tensorrt 5.0
* add submodule onnx-tensorrt branch 5.1
* remove redundancy
* Update transformer_memcpy.cc
* Update tensorrt_execution_provider.cc
* switch to TensorRT 5.1.5.0
* update python binding
* disable failed test case on TensorRT
* Update activation_op_test.cc
* upgrade to TensorRT container 19.06
* update according to feedback
* add comments
* remove tensorrt allocator and use cuda(gpu) allocator
* update onnx-tensorrt submodule
* change ci build cuda directory name
* Add MacOS leg of Python packaging job
* Update copy files source directory for Mac OS leg
* Add a task to display the binaries directories contents after build wheel creation
* Revert some changes
* Add task to log
* Update
* Remove unnecessary logs
* Update DNNLibrary
* Allow fp16 by default
* Add nnapi build in ci
* Fix nnapi ep after #1268
* Remove unused variables
* Support nnapi in onnx_test_runner
* Update DNNLibrary to fix tests
* Update build.py for android build support, solve conflict of
tools/ci_build/build.py
* Support non-ARM Android build, solve conflict of tools/ci_build/build.py
* Enable android test by x86_64 android emulator
* Add dnnlibrary/NNAPI support in build.py
* suppress the verbose adb output
* Remove debug logs
* Install cmake by pip
* Fix undefined host_protoc_path
* cmake==3.13.2 in pypi is actually 3.12.2, so install 3.13.2.post1 instead
* Fix Android ARM64 build
* Use android ndk r20 instead of r19c, fix conflicts in install_deps_android.sh
* sync onnx to get equal op with float support
* doc update
* fix test failure because of updated shape inference logic for roialign.
* filter consum test cases since it's not implemented yet.
* replace log sinks
* limit headers to include dir
* first changes to do dynamic linking
* wip for using cxx api
* remove weird dangling dependency
* building with tests failing
* finish updating converters
* fix const
* intital introduction of typedef
* change logging to use spdlog
* get tests passing
* clang format
* map logging levels better
* clean up unused imports
* trent cr comments
* clang-format
* code review comments
* changing buffer use to reserve
* Dynamically link
* revert tvm
* update binary uploading
* catch exceptions by const-ref
* Revert "revert tvm"
This reverts commit 387676dd1018134d15eb71fa126f7caf94380800.
* fix typo
* update versioning of lib
* Update cuda for python wheels
* Update cuda for python wheels
* Update cuda for python wheels
* Update azure-pipelines-py-packaging.yml
* Update to cuda 10
* Only test win gpu
* Update cuda for python wheels
* Use manylinux2010 image to build linux python wheels
Allow wheels built to truly be compliant with a manylinux policy
* call install_onnx with relative path
* use caller path
* get abs path of current script
* process unicode char
* replace script name
* add suffix as part of match
* match only the end of path
* Initial commit for OpenVINO Execution Provider
OpenVINO Execution Provider provides the interface for ONNX Runtime
applications to access Intel's hardware accelerators using Intel's
OpenVINO Toolkit.
* Fixed bug in GetCapability to disable custom ops
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Added OPENVINO ci pipeline
Added new pipeline for openvino provider,
made changes to support the docker build and
onnxruntime build with openvino.
Signed-off-by: Luis Daniel Castellanos <luis.daniel.castellanos@intel.com>
* Enabled all unit tests for OpenVINO EP
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Fixed syntax issue in run_docker_build.sh file
* Added missing default OPENVINO_VERSION
Default value for OPENVINO_VERSION env was
missing causing the build to fail
* Added install Model Optimizer deps step
* Fixed python unit tests and some tests from onnx_backend_test_series
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Fixed indentation bug
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Disabled some of the python backend tests for OpenVINO
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Disabled some model tests
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Remove Duplicate checks for openvino in build.py
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Modified GetCapability for FP16
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Disabled GPU FP32 tests that are not supported
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Convert modelProto to string and use it in compile
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Pass byte-array input args to MO
* Serialized ModelProto passed in-memory to MO
ModelOptimizer python module receives the serialized ModelProto
in-memory.
Uses appropriate ONNX function to load the serialized bytes.
* Make Py_Finalize compatible with older python versions
Also, remove pFunc unassigned variable possibility.
* Fallback if input dims of Matmul is greater than 2
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* fixup: Device #define syntax
* Updated the documentation
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Enable dynamic dim value
* removed commented out code
* Added Dockerfile for openvino EP
Updated instructions on dockerfiles/README.md file
Signed-off-by: Luis Daniel Castellanos <luis.daniel.castellanos@intel.com>
* Disabled fp16_inception_v1 test
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Code formatting with clang-format
Uses style from the .clang-format file in root directory.
* fixup: docker tag and build error fixes
* Heuristics to automatically detect batching
Distributes slices from batch into parallel infer-request objects.
* Handle disabled tests in GetCapability
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Disabled average pool and max pool if ceil_mode is 1
Also dilations are not supported if they are greater than 1
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Disabled Unsqueeze int32 test
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* changes to fix output results bug
* Disabled a few C++ unit tests for MYRIAD FP16
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Manually revert '9fe162bb Enable dynamic dim value'
Reverts compile time setting of dynamic shape
Reverting manually due to significantly huge auto-revert conflicts.
* Fixed unused variable warning
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Disabled Mul test for GPU_FP16 due to accuracy issue
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* VPU documentation update
* Disabled inception_v1 for MYRIAD and HDDL
*Also disabled few C++ accuracy tests for HDDL
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* updates from upstream
* use the new CustomOpApis for I/O interfacing
* Pass initializers as subgraph meta-def inputs in GetCapability()
Requirement due to API changes introduced with PR# 1019.
* Remove obsolete functions
* Save indexes of graph inputs from fused_node info
Both inputs and initializers are passed as data inputs to the
infer function. To identify only inputs among them, save thier
index info from fused_node in Compile function.
* Documentation changes to enable VPU
* Fix VPU related changes in documentation
* Fix minor changes in documentation
* Fix VPU related changes in documentation
* Use Node.In/OutputDefs() to track graph inputs and outputs.
Don't use graph_viewer's GetInputs() or
GetInputsIncludingInitializers().
* Permit "SAME_UPPER" auto_pad attribute from MaxPool
* Disabled fp16_tiny_yolov2 in onnx model tests
* Updated documentation to include configuration guides for myriad and hddl
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Use 8 Infer requests only for VAD-R
* disable debug prints
* Clang-format source files
* Updated BUILD.md with OpenVINO R5 links
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Disabled same upper python tests
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Update test exclusion syntax
* Change path of install_onnx.sh
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Disable tiny_yolov2 in broken tests
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Revert "Change path of install_onnx.sh"
This reverts commit ba9db165f3be430f2aff1ef413299ed04637196a.
This change is only required for Intel internal CI pipeline until
the settings are matched with the upstream's CI pipeline.
* Added debug statements for debugging CI error
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Add --build_wheel to linux openvino pipeline
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Added -v option to onnx_test_runner for debugging
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Removed path change patch
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Added -c 1 to onnx_test_runner
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Refactor MO python invocation in separate function
Cleans up Model Optimizer python invocation check and conversion
logic. Invokes MO only once in GetCapability() and passes the
IR strings (xml and bin) to the Compiler as meta-def attributes.
* Add comments
* code cleanup and comments
* Code cleanup for GetCapability
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Removed unnecessary files
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Revert "Added -v option to onnx_test_runner for debugging"
This reverts commit d1dd70938a94d648df1a1dbbc2e48d0b97e49ec8.
* Revert "Added debug statements for debugging CI error"
This reverts commit b86d41afed2aa29c3508155d6f9c8d3a7263cc60.
* incorporate Status Code changes
* ComputeFunc returns Status::OK() on success
* Use test names to disable tests for MYRIAD and VAD-R
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Rename local identifiers from CNNNetwork to OpenVINO network
CNNNetwork is an OpenVINO's API class that represents more than
just convolutional neural networks (CNNs). Renaming helps to avoid
confusion that the API's only support CNN type models.
* Added error message if building on windows
* Removed duplicate option in Cmake
* Removed unnecessary parameters in activation_opt_test
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Refactor Map search and access logic for efficiently and cleanliness.
* use C++ style casts
* Use os.path.join for python directory path operations
* use C++ style casts
* EP classes should use onnxruntime namespace
* Clean up fixes from PR comments
* Don't explicitly shutdown Py interpreter
* Remove debug print statements
Prints will be re-enabled later with a logging mechanism with
debug/verbose printing options.
* Decrement ref counts for used pyObjects
* Restore build instructions for other compilers
Content under the "Using other compilers" section has been
accidentally deleted by a previous commit. Restoring back that
content from the latest upstream repo.
* CMake code cleanup
Code clean up, commenting and formatting of CMake code.
* Don't pass the unused device_info parameter to OpenVINOGraph ctor.
* Add support for multiple I/O data types
Adds support for the following tensor data types for graph inputs
and outputs:
1) float
2) float16
3) int32
4) int16
5) int8
6) uint16
7) uint8
* cleanup setup.py module list definition
* Deduce index of input using tracked input index map
Ignores initializers in case they are ordered before inputs.
* Removed debug statement in MO code
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* PR feedback
* Removed per_sample_tolerance for openvino
* Removed unnecessary disabled tests
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Removed debug function
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Disabled tiny_yolo_v2 due to accuracy issues
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Changed the disabled reason for broken tests
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Disabled Reshape with no input
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Python formatting with Autopep8
* Minor fix for MYRIAD devices
* Added zero dimension check
*Removed setting batch size for the network
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Set the threshold to larger value for MNIST
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Removed setting higher threshold in provider_test_utils
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
* Check for --use_openvino in python wheel setup.py
Add openvino modules to the setup script for building the wheel
package only for --use_openvino a build option.
* Removed nullptr checks for GetNode()
Signed-off-by: suryasidd <surya.siddharth.pemmaraju@intel.com>
Advance ONNX submodule to 5c51f0dbbe88ee1536f17ee7bd462b2ab3772c52
This commit in ONNX contains a fix to ConstantOfShape test data.
Uncomment ConstantOfShape.
Update test script, make sure exclusions are uniform.
* add version filter to failed tests
* exclude test from backend
* exclude shrink from opset 9
* fix compile err
* exclude certain version of constant shape
* enable flatten test
* fix compile err
* comment mvn test
* disable constantofshape test in x86
* disable x86 test
* get model version from imported opset
* test linux x86 case
* disable nonzero opset 10
* make mutex const
* test filter by commit id
* adjust substr offset
* Limit test platform
* remove change impacting TFModleInfo.h
* refactoring
* refactoring
* test x86 pipeline with filter
* add comment
* restrict version extraction on non-win
* restrict version extraction on non-win
* add tag
* exclude case from backend test
* remove dup
* remove dup
* make script runnable
* hard code adsolute path
* refactor log
* fix x86 compile err
* fix x86 compile err
* fix x86 compile err
* sync with latest tensorrt
* switch to regex
* fix cpu pipeline err
* test filter
* disable nonzero from all versions
* Refactor C# to handle x86
* update run script
* Add Native win x86 tests
* Add native x86 tests for Linux
* Update linux tests scripts to control which tests are run
* update linux image name for x86 to prevent using cached image
* update to not run unit python unit tests unless pybind is specified
* remove --build_wheel as a core common arg. Python cannot run on x86 build
* update OrtGetNumOfDimensions to OrtGetDimensionsCount in rest of C#
* Finer control over when Python tests are run
* add --build_wheel to linux pipeline, instead of run_build.sh
* add --build_wheel to all ci configurations
* update per review comments
* Update the ORT-SRV ci pipeline setup
* Update pip package installation for server tests
* Install requests package in build setup
* Check if python dependencies exists before install
* Accomodate missing optional 'axes' when 'steps' is present in Slice op (#946)
* Accomodate missing optional axes when steps is present in Slice implementation
* PR feedback
* Update package links (#937)
* Update package links
* Minor fix
* Update README.md
* Minor edit
* Update onnx commit (#949)
* Update onnx commit
* disable failing tests which don't have to be fixed for this release
* dummy change to fix file permission
* fix file permission
* Simple integration into CMake build system
* Adds vcpkg as a submodule and updates build.py to install hosting dependencies
* Don't create vcpkg executable if already created
* Fixes how CMake finds toolchain file and quick changes to build.py
* Removes setting the CMAKE_TOOLCHAIN_FILE in build.py
* Adds Boost Beast echo server and Boost program_options
* Fixes spacing problem with program_options
* Adds Microsoft headers to all the beast server headers
* Removes CXX 14 from CMake file
* Adds TODO to create configuration class
* Run clang-format on main
* Better exception handling of program_options
* Remove vckpg submodule via ssh
* Add vcpkg as https
* Adds onnxruntime namespace to call classes
* Fixed places where namespaces were anonymous
* Adds a TODO to use the logger
* Moves all setting namespace shortnames outside of onnxruntime namespace
* Add onnxruntime session options to force app to link with it
* Set CMAKE_TOOLCHAIN_FILE in build.py
* Remove whitespace
* Adds initial ONNX Hosting tests (#5)
* Add initial test which is failing linking with no main
* Adds test_main to get hosting tests working
* Deletes useless add_executable line
* Merge changes from upstream
* Enable CI build in Vienna environment
* make hosting_run*.sh executable
* Add boost path in unittest
* Add boost to TEST_INC_DIR
* Add component detection task in ci yaml
* Get tests and hosting to compile with re2 (#7)
* Add finding boost packages before using it in unit tests
* Add predict.proto and build
* Ignore unused parameters in generated code
* Removes std::regex in favor of re2 (#8)
* Removes std::regex in favor of re2
* Adds back find_package in unit tests and fixes regexes
* Adds more negative test cases
* Adding more protos
* Fix google protobuf file path in the cmake file
* Ignore unused parameters for pb generated code
* Updates onnx submodule (#10)
* Remove duplicated lib in link
* Follow Google style guide (#11)
* Google style names
* Adds more
* Adds an additional namespace
* Fixes header guards to match filepaths
* Consume protobuf
* Unit Test setup
* Json deserialization simple test cases
* Split hosting app to lib and exe for testability
* Add more cases
* Clean up
* Add more comments
* Update namespace and format the cmake files
* Update cmake/external/onnx to checkout 1ec81bc6d49ccae23cd7801515feaadd13082903
* Separate h and cc in http folder
* Clean up hosting application cmake file
* Enable logging and proper initialize the session
* Update const position for GetSession()
* Take latest onnx and onnx-tensorrt
* Creates configuration header file for program_options (#15)
* Sets up PredictRequest callback (#16)
* Init version, porting from prototype, e2e works
* More executor implementation
* Adds function on application startup (#17)
* Attempts to pass HostingEnvironment as a shared_ptr
* Removes logging and environment from all http classes
* Passes http details to OnStart function
* Using full protobuf for hosting app build
* MLValue2TensorProto
* Revert back changes in inference_session.cc
* Refactor logger access and predict handler
* Create an error handling callback (#19)
* Creates error callback
* Logs error and returns back as JSON
* Catches exceptions in user functions
* Refactor executor and add some test cases
* Fix build warning
* Add onnx as a dependency and in includes to hosting app (#20)
* Converter for specific types and more UTs
* More unit tests
* Update onnx submodule
* Fix string data test
* Clean up code
* Cleanup code
* Refactor logging to use unique id per request and take logging level from user (#21)
* Removes capturing env by reference in main
* Uses uuid for logging ids
* Take logging_level as a program argument
* Pass logging_level to default_logging_manager
* Change name of logger to HostingApp
* Log if request id is null
* Update GetHttpStatusCode signature
* Fix random result issue and camel-case names
* Rollback accidentally changed pybin_state.cc
* Rollback pybind_state.cc
* Generate protobuf status from onnxruntime status
* Fix function name in error message
* Clean up comments
* Support protobuf byte array as input
* Refactor predict handler and add unit tests
* Add one more test
* update cmake/external/onnx
* Accept more protobuf MIME types
* Update onnx-tensorrt
* Add build instruction and usage doc
* Address PR comments
* Install g++-7 in the Ubuntu 16.04 build image for vcpkg
* Fix onnx-tensorrt version
* Check return value during initialization
* Fix infinite loop when http port is in use (#29)
* Simplify Executor.cc by breaking up Run method (#27)
* Move request id to Executor constructor
* Refactor the logger to respect user verbosity level
* Use Arena allocator instead of device
* Creates initial executor tests
* Merge upstream master (#31)
* Remove all possible shared_ptrs (#30)
* Changes GetLogger to unique_ptr
* Reserve BFloat raw data vector size
* Change HostingEnvironment to being passed by lvalue and rvalue references
* Change routes to getting passed by const references
* Enable full protobuf if building hosting (#32)
* Building hosting application no longer needs use_full_protobuf flag
* Improve hosting application docs
* Move server core into separate folder (#34)
* Turn hosting project off by default (#38)
* Remove vcpkg as a submodule and download/install Boost from source (#39)
* Remove vcpkg
* Use CMake script to download and build Boost as part of the project
* Remove std::move for const references
* Remove error_code.proto
* Change wording of executable help description
* Better GenerateProtobufStatus description
* Remove error_code protobuf from CMake files
* Use all outputs if no filter is given
* Pass MLValue by const reference in MLValueToTensorProto
* Rename variables to argc and argv
* Revert "Use all outputs if no filter is given"
This reverts commit 7554190ab8e50ba6947648c2f3e2a3d4d9606ce0.
* Remove all header guards in favor of #pragma once
* Reserve size for output vector and optimize for-loop
* Use static libs by default for Boost
* Improves documentation for GenerateResponseInJson function
* Start Result enum at 0 instead of 1
* Remove g++ from Ubuntu's install.sh
* Update cmake files
* Give explanation for Result enum type
* Remove all program options shortcuts except for -h
* Add comments for predict.proto
* Fix JSON for error codes
* Add notice on hosting application docs that it's in beta
* Change HostingEnvironment back to a shared_ptr
* Handle empty output_filter field
* Fix build break
* Refactor unit tests location and groups
* First end-to-end test
* Add missing log
* Missing req id and client req id in error response
* Add one test case to validate failed resp header
* Add build flag for hosting app end to end tests
* Update pipeline setup to run e2e test for CI build
* Model Zoo data preparation and tests
* Add protobuf tests
* Remove mention of needing g++-7 in BUILD.md
* Make GetAppLogger const
* Make using_raw_data_ match the styling of other fields
* Avoid copy of strings when initializing model
* Escape JSON strings correctly for error messages (#44)
* Escape JSON strings correctly
* Add test examples with lots of carriage returns
* Add result validation
* Remove temporary path
* Optimize model zoo test execution
* Improve reliability of test cases
* Generate _pb2.py during the build time
* README for integration tests
* Pass environment by pointer instead of shared_ptr to executor (#49)
* More Integration tests
* Remove generated files
* Make session private and use a getter instead (#53)
* logging_level to log_level for CLI
* Single model prediction shortcut
* Health endpoint
* Integration tests
* Rename to onnxruntime server
* Build ONNX Server application on Windows (#57)
* Gets Boost compiling on Windows
* Fix integer conversion and comparison problems
* Use size_t in converter_tests instead of int
* Fix hosting integration tests on Windows
* Removes checks for port because it's an unsigned short
* Fixes comparison between signed and unsigned data types
* Pip install protobuf and numpy
* Missing test data from the rename change
* Fix server app path (#58)
* Pass shared_ptr by const reference to avoid ref count increase (#59)
* Download test model during test setup
* Make download into test_util
* Rename ci pipeline for onnx runtime server
* Support up to 10MiB http request (#61)
* Changes minimum request size to 10MB to support all models in ONNX Model Zoo
* Adding versioned dlls to tar/zip packages
* fix syntax error
* fix version name of dylib
* minor fix in the target
* update pattern for versioned dylib files
* move files
* move files
* Remove NonMaxSuppression from Contrib op, move it to Onnx domain, opset 10
* move NMS out of namespace contrib
* update data type in UT
* update to latest onnx
* white list the node test for Mod which is not implemented yet