CMakeLists.txt 58.3 KB
Newer Older
1 2 3 4 5
file(
  GLOB TEST_OPS
  RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}"
  "test_*.py")
string(REPLACE ".py" "" TEST_OPS "${TEST_OPS}")
T
tianshuo78520a 已提交
6 7 8
set(GC_ENVS FLAGS_eager_delete_tensor_gb=0.0 FLAGS_fast_eager_deletion_mode=1
            FLAGS_memory_fraction_of_eager_deletion=1.0)
set(dist_ENVS http_proxy="" https_proxy="")
Z
Zheng-Bicheng 已提交
9

10 11 12 13
file(
  GLOB DIST_TEST_OPS
  RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}"
  "test_dist_*.py")
T
tianshuo78520a 已提交
14 15
list(REMOVE_ITEM DIST_TEST_OPS "test_dist_op")

16
string(REPLACE ".py" "" DIST_TEST_OPS "${DIST_TEST_OPS}")
Z
Zheng-Bicheng 已提交
17

T
tianshuo78520a 已提交
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
if((NOT WITH_GPU) AND (NOT WITH_XPU))
  list(REMOVE_ITEM DIST_TEST_OPS "test_dist_mnist_batch_merge")
endif()
list(APPEND DIST_TEST_OPS test_parallel_dygraph_dataparallel)
list(APPEND DIST_TEST_OPS test_static_model_parallel_fused_feedforward)
list(APPEND DIST_TEST_OPS test_static_model_parallel_fused_attention)
list(APPEND DIST_TEST_OPS test_static_model_parallel_fused_multi_transformer)
list(APPEND DIST_TEST_OPS test_auto_parallel_data_unshard)
list(APPEND DIST_TEST_OPS test_auto_parallel_save_load)
list(APPEND DIST_TEST_OPS test_auto_parallel_autoconvert)
set(MIXED_DIST_TEST_OPS ${DIST_TEST_OPS})
#remove distribute unittests.

list(APPEND MIXED_DIST_TEST_OPS test_simple_dist_transpiler)
list(APPEND MIXED_DIST_TEST_OPS test_communicator_async)
list(APPEND MIXED_DIST_TEST_OPS test_communicator_ps_gpu)
list(APPEND MIXED_DIST_TEST_OPS test_communicator_geo)
list(APPEND MIXED_DIST_TEST_OPS test_fleet_launch_ps)
list(APPEND MIXED_DIST_TEST_OPS test_launch_coverage)
list(APPEND MIXED_DIST_TEST_OPS test_fleetrun)
list(APPEND MIXED_DIST_TEST_OPS test_fleet_run_random_port)
list(APPEND MIXED_DIST_TEST_OPS test_fleet_launch_async)
list(APPEND MIXED_DIST_TEST_OPS test_fleet_launch_cloud)
list(APPEND MIXED_DIST_TEST_OPS test_fleet_launch_ascend)
list(APPEND MIXED_DIST_TEST_OPS test_ascend_group)
list(APPEND MIXED_DIST_TEST_OPS test_fleet_launch_nproc)
list(APPEND MIXED_DIST_TEST_OPS test_fleet_api_input)

list(APPEND MIXED_DIST_TEST_OPS test_fleet_base)
list(APPEND MIXED_DIST_TEST_OPS test_fleet_base_2)
list(APPEND MIXED_DIST_TEST_OPS test_fleet_base_3)
list(APPEND MIXED_DIST_TEST_OPS test_fleet_auto)
list(APPEND MIXED_DIST_TEST_OPS test_auto_parallel_partitioner)
list(APPEND MIXED_DIST_TEST_OPS test_auto_parallel_partitioner_gpt)
list(APPEND MIXED_DIST_TEST_OPS test_auto_parallel_searcher)
list(APPEND MIXED_DIST_TEST_OPS test_auto_parallel_reshard)
list(APPEND MIXED_DIST_TEST_OPS test_auto_parallel_dist_tensor)
list(APPEND MIXED_DIST_TEST_OPS test_auto_parallel_reshard_serial)
list(APPEND MIXED_DIST_TEST_OPS test_auto_parallel_reshard_mppp)
list(APPEND MIXED_DIST_TEST_OPS test_auto_parallel_reshard_dpmppp)
list(APPEND MIXED_DIST_TEST_OPS test_auto_parallel_cost_model)
list(APPEND MIXED_DIST_TEST_OPS test_dygraph_hybrid_dp)
foreach(TEST_OP ${MIXED_DIST_TEST_OPS})
61 62
  list(REMOVE_ITEM TEST_OPS ${TEST_OP})
endforeach()
Z
Zheng-Bicheng 已提交
63

T
tianshuo78520a 已提交
64 65
if(NOT WITH_PYTHON AND ON_INFER)
  list(REMOVE_ITEM TEST_OPS test_eager_trace_op)
66
endif()
Z
Zheng-Bicheng 已提交
67

68
if(NOT WITH_GPU)
T
tianshuo78520a 已提交
69 70 71 72 73 74 75 76 77
  list(REMOVE_ITEM TEST_OPS test_async_read_write)
  list(REMOVE_ITEM TEST_OPS test_fused_feedforward_op)
  list(REMOVE_ITEM TEST_OPS test_fused_attention_op)
  list(REMOVE_ITEM TEST_OPS test_fused_attention_op_api)
  list(REMOVE_ITEM TEST_OPS test_fused_multi_transformer_op)
  list(REMOVE_ITEM TEST_OPS test_fused_multi_transformer_int8_op)
  list(REMOVE_ITEM TEST_OPS test_fused_transformer_encoder_layer)
  list(REMOVE_ITEM TEST_OPS test_fused_bias_dropout_residual_layer_norm_op)
  list(REMOVE_ITEM TEST_OPS test_fused_bias_dropout_residual_layer_norm_op_api)
MarDino's avatar
MarDino 已提交
78
  list(REMOVE_ITEM TEST_OPS test_rms_norm_op)
T
tianshuo78520a 已提交
79 80
  list(REMOVE_ITEM TEST_OPS test_fused_attention_pass)
  list(REMOVE_ITEM TEST_OPS test_fused_feedforward_pass)
81
  list(REMOVE_ITEM TEST_OPS test_fused_comm_buffer)
T
tianshuo78520a 已提交
82 83 84
  list(REMOVE_ITEM DIST_TEST_OPS "test_dist_hapi_model")
  list(REMOVE_ITEM DIST_TEST_OPS "test_dist_fleet_spmt")
  list(REMOVE_ITEM DIST_TEST_OPS "test_dist_fleet_minimize")
85
  list(REMOVE_ITEM TEST_OPS test_async_read_write)
86 87
endif()

88
list(REMOVE_ITEM TEST_OPS test_audio_logmel_feature test_audio_mel_feature)
T
tianshuo78520a 已提交
89
list(REMOVE_ITEM TEST_OPS test_fused_ec_moe_op)
FormlessUnit's avatar
FormlessUnit 已提交
90
list(REMOVE_ITEM TEST_OPS test_linear_compress)
T
tianshuo78520a 已提交
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
list(REMOVE_ITEM TEST_OPS test_fused_gemm_epilogue_op)
list(REMOVE_ITEM TEST_OPS test_fused_gemm_epilogue_grad_op)
list(REMOVE_ITEM TEST_OPS test_fuse_gemm_epilogue_pass)

if(((NOT WITH_ROCM) AND (NOT WITH_GPU)) OR WIN32)
  list(REMOVE_ITEM TEST_OPS test_c_comm_init_all_op)
  list(REMOVE_ITEM TEST_OPS test_c_embedding_op)
  list(REMOVE_ITEM TEST_OPS test_pipeline_parallel)
  list(REMOVE_ITEM TEST_OPS test_memcpy_op)
  list(REMOVE_ITEM TEST_OPS test_raw_program_optimizer)
  list(REMOVE_ITEM TEST_OPS test_fleet_gradient_scale)
  list(REMOVE_ITEM TEST_OPS test_disable_signal_handler)
  list(REMOVE_ITEM TEST_OPS test_fleet_executor)
  list(REMOVE_ITEM TEST_OPS test_fleet_executor_with_task_nodes)
  list(REMOVE_ITEM TEST_OPS test_fleet_executor_multi_devices)
  list(REMOVE_ITEM TEST_OPS test_fleet_executor_origin_scheduler)
  list(REMOVE_ITEM TEST_OPS test_auto_parallel_mapper)
  list(REMOVE_ITEM TEST_OPS test_fleet_executor_task_node)
  list(REMOVE_ITEM TEST_OPS test_fleet_exe_dist_model_run)
  list(REMOVE_ITEM TEST_OPS test_fleet_exe_dist_model_tensor)
  list(REMOVE_ITEM TEST_OPS test_fleet_executor_cond_interceptor)
endif()

list(REMOVE_ITEM TEST_OPS test_deprecated_decorator)

if(WIN32)
  list(REMOVE_ITEM TEST_OPS test_multiprocess_reader_exception)
  list(REMOVE_ITEM TEST_OPS test_trainer_desc)
  list(REMOVE_ITEM TEST_OPS test_checkpoint_notify_op)
  list(REMOVE_ITEM TEST_OPS test_downpoursgd)
  list(REMOVE_ITEM TEST_OPS test_fleet)
  list(REMOVE_ITEM TEST_OPS test_fleet_nocvm_1)
  list(REMOVE_ITEM TEST_OPS test_fleet_rolemaker)
  list(REMOVE_ITEM TEST_OPS test_fleet_rolemaker_3)
  list(REMOVE_ITEM TEST_OPS test_fleet_unitaccessor)
  list(REMOVE_ITEM TEST_OPS test_ps_dispatcher)
  list(REMOVE_ITEM TEST_OPS test_ir_memory_optimize_nlp)
  list(REMOVE_ITEM TEST_OPS test_nvprof)

  # TODO: Fix these unittests failed on Windows
  list(REMOVE_ITEM TEST_OPS test_debugger)
  if(WITH_GPU)
    list(REMOVE_ITEM TEST_OPS test_update_loss_scaling_op)
  endif()
endif()

if(NOT WITH_DISTRIBUTE OR WIN32)
  # DISTRIBUTE related
  list(REMOVE_ITEM TEST_OPS test_avoid_twice_initialization)
  list(REMOVE_ITEM TEST_OPS test_fleet_metric)
  list(REMOVE_ITEM TEST_OPS test_fleet_ps)
  list(REMOVE_ITEM TEST_OPS test_fleet_rolemaker_2)
  list(REMOVE_ITEM TEST_OPS test_delete_c_identity_op_pass)
  # TODO: Fix these unittests failed on Windows
  list(REMOVE_ITEM TEST_OPS test_fake_init_op)
endif()

if(NOT WITH_DISTRIBUTE)
  list(REMOVE_ITEM TEST_OPS test_desc_clone_dist)
endif()

if(WIN32)
  list(REMOVE_ITEM TEST_OPS test_complex_matmul)
  list(REMOVE_ITEM TEST_OPS test_ops_nms)
  list(REMOVE_ITEM TEST_OPS test_trt_convert_preln_residual_bias)
  list(REMOVE_ITEM TEST_OPS test_fused_multi_transformer_int8_op)
  list(REMOVE_ITEM TEST_OPS test_fused_ec_moe_op)
MarDino's avatar
MarDino 已提交
158
  list(REMOVE_ITEM TEST_OPS test_rms_norm_op)
FormlessUnit's avatar
FormlessUnit 已提交
159
  list(REMOVE_ITEM TEST_OPS test_linear_compress)
R
RichardWooSJTU 已提交
160
  list(REMOVE_ITEM TEST_OPS test_matmul_int8_op)
T
tianshuo78520a 已提交
161 162 163 164 165 166 167 168 169 170 171 172
endif()
list(REMOVE_ITEM TEST_OPS test_checkpoint_saver)

if(APPLE OR WIN32)
  list(REMOVE_ITEM TEST_OPS test_fs_interface)
  list(REMOVE_ITEM TEST_OPS test_fleet_metric)
endif()

list(REMOVE_ITEM TEST_OPS test_parallel_dygraph_hybrid_parallel)

list(REMOVE_ITEM TEST_OPS test_parallel_dygraph_transformer_gloo)
# NOTE: @xiongkun03, cpu is too slow, fix it in next PR
Z
Zheng-Bicheng 已提交
173

T
tianshuo78520a 已提交
174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277
if(NOT WITH_GLOO)
  list(REMOVE_ITEM TEST_OPS test_parallel_dygraph_dataparallel_cpuonly)

  list(REMOVE_ITEM TEST_OPS test_parallel_dygraph_unused_variables_gloo)
  list(REMOVE_ITEM TEST_OPS
       test_parallel_dygraph_sparse_embedding_over_height_gloo)
  list(REMOVE_ITEM TEST_OPS test_parallel_dygraph_sparse_embedding_gloo)
  list(REMOVE_ITEM TEST_OPS
       test_parallel_dygraph_sparse_embedding_diff_length_gloo)
endif()

if((NOT WITH_GPU) AND (NOT WITH_ROCM))
  list(REMOVE_ITEM TEST_OPS test_conv2d_fusion_op)
  list(REMOVE_ITEM TEST_OPS test_rank_attention_op)
  # TODO(shenliang03): rank_attention_op support CPU device in future
  list(REMOVE_ITEM TEST_OPS test_batch_fc_op)
  # TODO(shenliang03): batch_fc_op support CPU device in future
  # TODO(Yancey1989): parallel dygraph support CPU device in future
  list(REMOVE_ITEM TEST_OPS test_parallel_dygraph_dataparallel)
  list(REMOVE_ITEM TEST_OPS test_fleet_base_single)
  list(REMOVE_ITEM TEST_OPS test_auto_parallel_partitioner)
  list(REMOVE_ITEM TEST_OPS test_auto_parallel_partitioner_gpt)
  list(REMOVE_ITEM TEST_OPS test_auto_parallel_searcher)
  list(REMOVE_ITEM TEST_OPS test_auto_parallel_reshard)
  list(REMOVE_ITEM TEST_OPS test_auto_parallel_dist_tensor)
  list(REMOVE_ITEM TEST_OPS test_auto_parallel_reshard_serial)
  list(REMOVE_ITEM TEST_OPS test_auto_parallel_reshard_mppp)
  list(REMOVE_ITEM TEST_OPS test_auto_parallel_reshard_dpmppp)
  list(REMOVE_ITEM TEST_OPS test_auto_parallel_cost_model)
  list(REMOVE_ITEM TEST_OPS test_auto_parallel_data_unshard)
  list(REMOVE_ITEM TEST_OPS test_auto_parallel_save_load)
  list(REMOVE_ITEM TEST_OPS test_auto_parallel_autoconvert)

elseif(WITH_GPU)
  if(${CUDNN_VERSION} VERSION_LESS 7100)
    list(REMOVE_ITEM TEST_OPS test_conv2d_fusion_op)
  endif()
endif()

if((NOT WITH_NCCL) AND (NOT WITH_RCCL))
  list(REMOVE_ITEM TEST_OPS test_imperative_group)
endif()

if(((NOT WITH_ROCM) AND (NOT WITH_GPU)) OR WIN32)
  list(REMOVE_ITEM TEST_OPS test_fused_gate_attention_op)
  list(REMOVE_ITEM TEST_OPS test_boxps)
  list(REMOVE_ITEM TEST_OPS test_allgather)
  list(REMOVE_ITEM TEST_OPS test_reducescatter)
  list(REMOVE_ITEM TEST_OPS test_reducescatter_api)
endif()
list(REMOVE_ITEM TEST_OPS test_seq_concat_op)
# FIXME(helin): https://github.com/PaddlePaddle/Paddle/issues/8290
list(REMOVE_ITEM TEST_OPS test_lstm_unit_op)
# # FIXME(qijun) https://github.com/PaddlePaddle/Paddle/issues/5185
list(REMOVE_ITEM TEST_OPS test_cond_op)

# FIXME(qijun): https://github.com/PaddlePaddle/Paddle/issues/5101#issuecomment-339814957

list(REMOVE_ITEM TEST_OPS op_test) # op_test is a helper python file, not a test
list(REMOVE_ITEM TEST_OPS decorator_helper)
# decorator_helper is a helper python file, not a test

if(APPLE)
  if(NOT WITH_DISTRIBUTE)
    list(REMOVE_ITEM TEST_OPS test_desc_clone)
    list(REMOVE_ITEM TEST_OPS test_program_code)
  endif()
  message(
    WARNING
      "These tests has been disabled in OSX before being fixed:\n test_fuse_elewise_add_act_pass \n test_detection_map_op \n test_dist_se_resnext_*"
  )
  # this op is not support on mac
  list(REMOVE_ITEM TEST_OPS test_fusion_seqexpand_concat_fc_op)
  list(REMOVE_ITEM TEST_OPS test_detection_map_op)
  list(REMOVE_ITEM TEST_OPS test_fuse_elewise_add_act_pass)
endif()
if(NOT WITH_MKLML)
  # this op is not support on openblas
  list(REMOVE_ITEM TEST_OPS test_fusion_seqexpand_concat_fc_op)
endif()

if(NOT WITH_MKL OR NOT WITH_AVX)
  list(REMOVE_ITEM TEST_OPS test_match_matrix_tensor_op)
  list(REMOVE_ITEM TEST_OPS test_var_conv_2d)
endif()

if(WITH_COVERAGE
   OR WIN32
   OR WITH_NV_JETSON)
  list(REMOVE_ITEM TEST_OPS test_pyramid_hash_op)
endif()

list(REMOVE_ITEM TEST_OPS test_fleet_pyramid_hash)

if((WITH_ROCM OR WITH_GPU) OR NOT WITH_MKLML)
  # matmul with multiple heads need MKL support
  list(REMOVE_ITEM TEST_OPS test_matmul_op_with_head)
endif()

if(NOT WITH_CRYPTO)
  list(REMOVE_ITEM TEST_OPS test_crypto)
endif()

function(py_test_modules TARGET_NAME)
278
  if(WITH_TESTING)
T
tianshuo78520a 已提交
279
    set(options SERIAL)
280
    set(oneValueArgs "")
T
tianshuo78520a 已提交
281 282
    set(multiValueArgs MODULES DEPS ENVS)
    cmake_parse_arguments(py_test_modules "${options}" "${oneValueArgs}"
283
                          "${multiValueArgs}" ${ARGN})
Z
Zheng-Bicheng 已提交
284

T
tianshuo78520a 已提交
285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327
    if(WITH_COVERAGE AND NOT (WITH_INCREMENTAL_COVERAGE
                              AND "$ENV{PADDLE_GIT_DIFF_PY_FILE}" STREQUAL ""))
      if(WITH_ASCEND_CL)
        add_test(
          NAME ${TARGET_NAME}
          COMMAND
            ${CMAKE_COMMAND} -E env
            PYTHONPATH=${PADDLE_BINARY_DIR}/python:$ENV{PYTHONPATH}
            ${py_test_modules_ENVS}
            COVERAGE_FILE=${PADDLE_BINARY_DIR}/python-coverage.data
            ${PYTHON_EXECUTABLE} -m coverage run --branch -p
            ${PADDLE_SOURCE_DIR}/tools/test_runner.py ${py_test_modules_MODULES}
          WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
      else()
        add_test(
          NAME ${TARGET_NAME}
          COMMAND
            ${CMAKE_COMMAND} -E env PYTHONPATH=${PADDLE_BINARY_DIR}/python
            ${py_test_modules_ENVS}
            COVERAGE_FILE=${PADDLE_BINARY_DIR}/python-coverage.data
            ${PYTHON_EXECUTABLE} -m coverage run --branch -p
            ${PADDLE_SOURCE_DIR}/tools/test_runner.py ${py_test_modules_MODULES}
          WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
      endif()
    else()
      if(WITH_ASCEND_CL)
        add_test(
          NAME ${TARGET_NAME}
          COMMAND
            ${CMAKE_COMMAND} -E env
            PYTHONPATH=${PADDLE_BINARY_DIR}/python:$ENV{PYTHONPATH}
            ${py_test_modules_ENVS} ${PYTHON_EXECUTABLE}
            ${PADDLE_SOURCE_DIR}/tools/test_runner.py ${py_test_modules_MODULES}
          WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
      else()
        add_test(
          NAME ${TARGET_NAME}
          COMMAND
            ${CMAKE_COMMAND} -E env PYTHONPATH=${PADDLE_BINARY_DIR}/python
            ${py_test_modules_ENVS} ${PYTHON_EXECUTABLE}
            ${PADDLE_SOURCE_DIR}/tools/test_runner.py ${py_test_modules_MODULES}
          WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
      endif()
Z
Zheng-Bicheng 已提交
328 329
    endif()

T
tianshuo78520a 已提交
330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432
    if(py_test_modules_SERIAL)
      set_property(TEST ${TARGET_NAME} PROPERTY RUN_SERIAL 1)
    endif()
    if(WIN32)
      set_tests_properties(${TARGET_NAME} PROPERTIES TIMEOUT 150)
    endif()
  endif()
endfunction()

function(bash_test_modules TARGET_NAME)
  if(NOT WITH_TESTING)
    return()
  endif()

  set(options SERIAL)
  set(oneValueArgs TIMEOUT START_BASH)
  set(multiValueArgs DEPS ENVS LABELS)
  cmake_parse_arguments(bash_test_modules "${options}" "${oneValueArgs}"
                        "${multiValueArgs}" ${ARGN})

  set(timeout 350)
  if(${bash_test_modules_TIMEOUT})
    set(timeout ${bash_test_modules_TIMEOUT})
  endif()

  if(WITH_COVERAGE)
    add_test(
      NAME ${TARGET_NAME}
      COMMAND
        ${CMAKE_COMMAND} -E env PYTHONPATH=${PADDLE_BINARY_DIR}/python
        TEST_TARGET_NAME=${TARGET_NAME} TEST_TIMEOUT=${timeout}
        ${bash_test_modules_ENVS} WITH_COVERAGE=ON
        COVERAGE_FILE=${PADDLE_BINARY_DIR}/python-coverage.data bash
        ${CMAKE_CURRENT_BINARY_DIR}/${bash_test_modules_START_BASH}
      WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
  else()
    add_test(
      NAME ${TARGET_NAME}
      COMMAND
        ${CMAKE_COMMAND} -E env PYTHONPATH=${PADDLE_BINARY_DIR}/python
        TEST_TARGET_NAME=${TARGET_NAME} TEST_TIMEOUT=${timeout}
        ${bash_test_modules_ENVS} bash
        ${CMAKE_CURRENT_BINARY_DIR}/${bash_test_modules_START_BASH}
      WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
  endif()

  if(bash_test_modules_SERIAL)
    set_property(TEST ${TARGET_NAME} PROPERTY RUN_SERIAL 1)
  endif()

  if(bash_test_modules_LABELS)
    set_tests_properties(${TARGET_NAME} PROPERTIES LABELS
                                                   ${bash_test_modules_LABELS})
  endif()
endfunction()

function(parallel_bash_test_modules TARGET_NAME)
  if(NOT WITH_TESTING)
    return()
  endif()

  set(options SERIAL)
  set(oneValueArgs TIMEOUT START_BASH)
  set(multiValueArgs DEPS ENVS LABELS UnitTests)
  cmake_parse_arguments(parallel_bash_test_modules "${options}"
                        "${oneValueArgs}" "${multiValueArgs}" ${ARGN})

  set(timeout 120)
  if(${parallel_bash_test_modules_TIMEOUT})
    set(timeout ${parallel_bash_test_modules_TIMEOUT})
  endif()

  list(JOIN parallel_bash_test_modules_UnitTests " " uts_string)

  if(WITH_COVERAGE)
    add_test(
      NAME ${TARGET_NAME}
      COMMAND
        ${CMAKE_COMMAND} -E env PYTHONPATH=${PADDLE_BINARY_DIR}/python
        TEST_TARGET_NAME=${TARGET_NAME} TEST_TIMEOUT=${timeout}
        ${parallel_bash_test_modules_ENVS} UnitTests=${uts_string}
        WITH_COVERAGE=ON COVERAGE_FILE=${PADDLE_BINARY_DIR}/python-coverage.data
        bash
        ${CMAKE_CURRENT_BINARY_DIR}/${parallel_bash_test_modules_START_BASH}
      WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
  else()
    add_test(
      NAME ${TARGET_NAME}
      COMMAND
        ${CMAKE_COMMAND} -E env PYTHONPATH=${PADDLE_BINARY_DIR}/python
        TEST_TARGET_NAME=${TARGET_NAME} TEST_TIMEOUT=${timeout}
        ${parallel_bash_test_modules_ENVS} UnitTests=${uts_string} bash
        ${CMAKE_CURRENT_BINARY_DIR}/${parallel_bash_test_modules_START_BASH}
      WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
  endif()

  if(parallel_bash_test_modules_SERIAL)
    set_property(TEST ${TARGET_NAME} PROPERTY RUN_SERIAL 1)
  endif()

  if(parallel_bash_test_modules_LABELS)
    set_tests_properties(${TARGET_NAME}
                         PROPERTIES LABELS ${parallel_bash_test_modules_LABELS})
Z
Zheng-Bicheng 已提交
433
  endif()
434
endfunction()
Z
Zheng-Bicheng 已提交
435

T
tianshuo78520a 已提交
436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464
list(REMOVE_ITEM TEST_OPS test_feed_data_check_shape_type)
list(REMOVE_ITEM TEST_OPS test_fetch_lod_tensor_array)
list(REMOVE_ITEM TEST_OPS test_warpctc_op)
list(REMOVE_ITEM TEST_OPS test_data_norm_op)
list(REMOVE_ITEM TEST_OPS test_parallel_executor_transformer)
list(REMOVE_ITEM TEST_OPS test_parallel_executor_transformer_auto_growth)
list(REMOVE_ITEM TEST_OPS test_bilinear_interp_op)
list(REMOVE_ITEM TEST_OPS test_nearest_interp_op)
list(REMOVE_ITEM TEST_OPS test_imperative_resnet)
list(REMOVE_ITEM TEST_OPS test_imperative_resnet_sorted_gradient)
list(REMOVE_ITEM TEST_OPS test_imperative_mnist_sorted_gradient)
list(REMOVE_ITEM TEST_OPS test_imperative_se_resnext)
list(REMOVE_ITEM TEST_OPS test_imperative_mnist)
list(REMOVE_ITEM TEST_OPS test_ir_memory_optimize_transformer)
list(REMOVE_ITEM TEST_OPS test_layers)
list(REMOVE_ITEM TEST_OPS test_parallel_executor_seresnext_base_cpu)
list(REMOVE_ITEM TEST_OPS test_parallel_executor_seresnext_with_reduce_cpu)
list(REMOVE_ITEM TEST_OPS
     test_parallel_executor_seresnext_with_fuse_all_reduce_cpu)
list(REMOVE_ITEM TEST_OPS test_imperative_ocr_attention_model)
list(REMOVE_ITEM TEST_OPS test_async_ssa_graph_executor_mnist)
list(REMOVE_ITEM TEST_OPS test_install_check)
list(REMOVE_ITEM TEST_OPS test_basic_gru_api)
list(REMOVE_ITEM TEST_OPS test_basic_gru_unit_op)
list(REMOVE_ITEM TEST_OPS test_basic_lstm_api)
list(REMOVE_ITEM TEST_OPS test_basic_lstm_unit_op)
list(REMOVE_ITEM TEST_OPS test_fuse_all_reduce_pass)
list(REMOVE_ITEM TEST_OPS test_fuse_bn_act_pass)
list(REMOVE_ITEM TEST_OPS test_fuse_bn_add_act_pass)
465
list(REMOVE_ITEM TEST_OPS test_conv3d_transpose_op)
T
tianshuo78520a 已提交
466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533

# disable this unittest temporarily
list(REMOVE_ITEM TEST_OPS test_imperative_data_loader_exception)

# disable sparse_attention which not in suitable env
if((NOT WITH_GPU)
   OR (WIN32)
   OR (PADDLE_WITH_ARM)
   OR (WITH_ROCM))
  list(REMOVE_ITEM TEST_OPS test_sparse_attention_op)
endif()

if(APPLE OR WIN32)
  list(REMOVE_ITEM TEST_OPS test_dataset)
  list(REMOVE_ITEM TEST_OPS test_dataset_dataloader)
  list(REMOVE_ITEM TEST_OPS test_imperative_data_loader_base)
  list(REMOVE_ITEM TEST_OPS test_imperative_data_loader_process)
  list(REMOVE_ITEM TEST_OPS test_imperative_data_loader_fds_clear)
  list(REMOVE_ITEM TEST_OPS test_imperative_data_loader_exit_func)
  list(REMOVE_ITEM TEST_OPS test_imperative_signal_handler)
  list(REMOVE_ITEM TEST_OPS test_multiprocess_dataloader_static)
  list(REMOVE_ITEM TEST_OPS test_multiprocess_dataloader_dynamic)
  list(REMOVE_ITEM TEST_OPS test_multiprocess_dataloader_exception)
  list(REMOVE_ITEM TEST_OPS test_multiprocess_dataloader_iterable_dataset)
  list(REMOVE_ITEM TEST_OPS test_multiprocess_dataloader_dataset)
  list(REMOVE_ITEM TEST_OPS test_paddle_multiprocessing)
endif()

if(NOT WITH_GLOO)
  list(REMOVE_ITEM TEST_OPS test_cpuonly_spawn)
endif()

if(NOT WITH_GPU
   OR WIN32
   OR APPLE)
  list(REMOVE_ITEM TEST_OPS test_build_strategy_fusion_group_pass)
endif()

# Some ops need to check results when gc is enabled
# Currently, only ops that register NoNeedBufferVarsInference need to do this test
set(TEST_OPS_WITH_GC
    test_affine_channel_op
    test_concat_op
    test_elementwise_add_op
    test_elementwise_sub_op
    test_fill_zeros_like2_op
    test_gather_op
    test_gather_nd_op
    test_linear_chain_crf_op
    test_lod_reset_op
    test_lookup_table_op
    test_mean_op
    test_pad2d_op
    test_scatter_op
    test_slice_op
    test_space_to_depth_op
    test_squared_l2_distance_op)

foreach(TEST_OP ${TEST_OPS_WITH_GC})
  list(REMOVE_ITEM TEST_OPS ${TEST_OP})
  py_test_modules(${TEST_OP} MODULES ${TEST_OP} ENVS ${GC_ENVS})
endforeach()

# Switch some dy2st UT to eager mode
set(TEST_EAGER_OPS test_jit_save_load test_translated_layer)
foreach(TEST_OP ${TEST_EAGER_OPS})
  list(REMOVE_ITEM TEST_OPS ${TEST_OP})
  py_test_modules(${TEST_OP} MODULES ${TEST_OP} ENVS FLAGS_enable_eager_mode=1)
534
endforeach()
T
tianshuo78520a 已提交
535 536 537 538 539 540 541 542 543 544 545

if((NOT WITH_GPU)
   AND (NOT WITH_XPU)
   AND NOT (WITH_ASCEND OR WITH_ASCEND_CL))
  list(REMOVE_ITEM TEST_OPS "test_fleet_graph_execution_meta_optimizer")
  list(REMOVE_ITEM TEST_OPS "test_dist_fleet_grad_clip")
  list(REMOVE_ITEM TEST_OPS "test_dist_fleet_heter_ctr")
  list(REMOVE_ITEM TEST_OPS "test_dist_fleet_ps_gpu_ctr")
  list(REMOVE_ITEM TEST_OPS "test_dist_mnist_batch_merge")
endif()

W
wanghuancoder 已提交
546
list(REMOVE_ITEM TEST_OPS "test_stride")
T
tianshuo78520a 已提交
547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903
foreach(TEST_OP ${TEST_OPS})
  py_test_modules(${TEST_OP} MODULES ${TEST_OP})
endforeach()
set_tests_properties(test_logcumsumexp_op PROPERTIES TIMEOUT 30)
py_test_modules(test_adam_op_multi_thread MODULES test_adam_op ENVS
                FLAGS_inner_op_parallelism=4)
if(WITH_GPU
   OR WITH_XPU
   OR WITH_ASCEND
   OR WITH_ASCEND_CL
   OR APPLE)
  py_test_modules(test_warpctc_op MODULES test_warpctc_op)
  set_tests_properties(test_warpctc_op PROPERTIES TIMEOUT 120)
endif()
py_test_modules(test_bilinear_interp_op MODULES test_bilinear_interp_op ENVS
                ${GC_ENVS})
py_test_modules(test_nearest_interp_op MODULES test_nearest_interp_op ENVS
                ${GC_ENVS})
py_test_modules(test_imperative_resnet MODULES test_imperative_resnet ENVS
                FLAGS_cudnn_deterministic=1)
set_tests_properties(test_imperative_resnet
                     PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE:NIGHTLY")
py_test_modules(
  test_imperative_resnet_sorted_gradient MODULES
  test_imperative_resnet_sorted_gradient ENVS FLAGS_cudnn_deterministic=1)
set_tests_properties(test_imperative_resnet_sorted_gradient
                     PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE:NIGHTLY")
py_test_modules(test_imperative_mnist MODULES test_imperative_mnist ENVS
                FLAGS_cudnn_deterministic=1)
py_test_modules(
  test_imperative_mnist_sorted_gradient MODULES
  test_imperative_mnist_sorted_gradient ENVS FLAGS_cudnn_deterministic=1)
py_test_modules(test_imperative_se_resnext MODULES test_imperative_se_resnext
                ENVS FLAGS_cudnn_deterministic=1)
set_tests_properties(test_imperative_se_resnext
                     PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE:NIGHTLY")
py_test_modules(
  test_imperative_ocr_attention_model MODULES
  test_imperative_ocr_attention_model ENVS FLAGS_cudnn_deterministic=1)
py_test_modules(test_install_check MODULES test_install_check ENVS
                FLAGS_cudnn_deterministic=1)
set_tests_properties(test_install_check PROPERTIES LABELS "RUN_TYPE=DIST")

if((WITH_GPU) AND (CUDA_VERSION GREATER_EQUAL 11.6))
  py_test_modules(test_fused_gemm_epilogue_op MODULES
                  test_fused_gemm_epilogue_op)
  py_test_modules(test_fused_gemm_epilogue_grad_op MODULES
                  test_fused_gemm_epilogue_grad_op)
  py_test_modules(
    test_fused_gemm_epilogue_op_with_es MODULES test_fused_gemm_epilogue_op
    ENVS FLAGS_cublaslt_exhaustive_search_times=30)
  py_test_modules(
    test_fused_gemm_epilogue_grad_op_with_es MODULES
    test_fused_gemm_epilogue_grad_op ENVS
    FLAGS_cublaslt_exhaustive_search_times=30)
  py_test_modules(test_fuse_gemm_epilogue_pass MODULES
                  test_fuse_gemm_epilogue_pass)
endif()

set_tests_properties(test_conv2d_op PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE")
set_tests_properties(test_conv2d_op_depthwise_conv
                     PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE")
set_tests_properties(test_conv2d_api PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE")
set_tests_properties(test_conv_nn_grad PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE")
set_tests_properties(test_norm_nn_grad PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE")
set_tests_properties(test_nn_grad PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE")
if(WITH_DISTRIBUTE)
  # FIXME(typhoonzero): add these tests back
  list(REMOVE_ITEM DIST_TEST_OPS "test_dist_transformer")
  list(REMOVE_ITEM DIST_TEST_OPS "test_dist_transpiler")

  # TODO(sandyhouse): fix and add the ut back
  list(REMOVE_ITEM DIST_TEST_OPS "test_dist_mnist_hallreduce")

  #not need
  list(REMOVE_ITEM DIST_TEST_OPS "test_dist_base")
  list(REMOVE_ITEM DIST_TEST_OPS "test_dist_fleet_base")

  list(REMOVE_ITEM DIST_TEST_OPS "test_dist_ctr")
  list(REMOVE_ITEM DIST_TEST_OPS "test_dist_mnist_lars")
  list(REMOVE_ITEM DIST_TEST_OPS "test_dist_mnist_train")
  list(REMOVE_ITEM DIST_TEST_OPS "test_dist_save_load")
  list(REMOVE_ITEM DIST_TEST_OPS "test_dist_text_classification")
  list(REMOVE_ITEM DIST_TEST_OPS "test_dist_train")
  list(REMOVE_ITEM DIST_TEST_OPS "test_dist_word2vec")
  list(REMOVE_ITEM DIST_TEST_OPS "test_dist_fleet_gloo")

  if(NOT WITH_HETERPS)
    list(REMOVE_ITEM DIST_TEST_OPS "test_communicator_ps_gpu")
    list(REMOVE_ITEM DIST_TEST_OPS "test_dist_fleet_ps11")
    list(REMOVE_ITEM DIST_TEST_OPS "test_dist_fleet_ps12")
  endif()

  py_test_modules(test_communicator_async MODULES test_communicator_async ENVS
                  ${dist_ENVS})
  py_test_modules(test_communicator_geo MODULES test_communicator_geo ENVS
                  ${dist_ENVS})
  if(NOT APPLE)
    py_test_modules(test_fleet_base MODULES test_fleet_base ENVS ${dist_ENVS})
    py_test_modules(test_fleet_base_2 MODULES test_fleet_base_2 ENVS
                    ${dist_ENVS})
    py_test_modules(test_fleet_base_3 MODULES test_fleet_base_3 ENVS
                    ${dist_ENVS})
    if(NOT WIN32)
      py_test_modules(test_auto_parallel_partitioner MODULES
                      test_auto_parallel_partitioner ENVS ${dist_ENVS})
      py_test_modules(test_auto_parallel_partitioner_gpt MODULES
                      test_auto_parallel_partitioner_gpt ENVS ${dist_ENVS})
      py_test_modules(test_auto_parallel_searcher MODULES
                      test_auto_parallel_searcher ENVS ${dist_ENVS})
      py_test_modules(test_auto_parallel_reshard MODULES
                      test_auto_parallel_reshard ENVS ${dist_ENVS})
      py_test_modules(test_auto_parallel_dist_tensor MODULES
                      test_auto_parallel_dist_tensor ENVS ${dist_ENVS})
      py_test_modules(test_auto_parallel_reshard_serial MODULES
                      test_auto_parallel_reshard_serial ENVS ${dist_ENVS})
      py_test_modules(test_auto_parallel_reshard_mppp MODULES
                      test_auto_parallel_reshard_mppp ENVS ${dist_ENVS})
      py_test_modules(test_auto_parallel_reshard_dpmppp MODULES
                      test_auto_parallel_reshard_dpmppp ENVS ${dist_ENVS})
      py_test_modules(test_auto_parallel_cost_model MODULES
                      test_auto_parallel_cost_model ENVS ${dist_ENVS})

    endif()
  endif()

  if(NOT APPLE)
    if(WITH_GPU OR WITH_ROCM)
      py_test_modules(test_launch_coverage MODULES test_launch_coverage)
    endif()

    bash_test_modules(test_fleetrun START_BASH test_fleetrun.sh ENVS
                      PADDLE_BINARY_DIR=${PADDLE_BINARY_DIR})
    if(WITH_GPU
       OR WITH_XPU
       OR WITH_ASCEND
       OR WITH_ASCEND_CL)
      bash_test_modules(
        test_fleet_launch_nproc START_BASH test_fleet_launch_nproc.sh ENVS
        PADDLE_BINARY_DIR=${PADDLE_BINARY_DIR})
      bash_test_modules(
        test_fleet_run_random_port START_BASH test_fleet_run_random_port.sh
        ENVS PADDLE_BINARY_DIR=${PADDLE_BINARY_DIR})
      bash_test_modules(
        test_fleet_launch_async START_BASH test_fleet_launch_async.sh ENVS
        PADDLE_BINARY_DIR=${PADDLE_BINARY_DIR})
      bash_test_modules(
        test_fleet_launch_cloud START_BASH test_fleet_launch_cloud.sh ENVS
        PADDLE_BINARY_DIR=${PADDLE_BINARY_DIR})
    endif()
    if(WITH_ASCEND OR WITH_ASCEND_CL)
      bash_test_modules(
        test_fleet_launch_ascend START_BASH test_fleet_launch_ascend.sh ENVS
        PADDLE_BINARY_DIR=${PADDLE_BINARY_DIR})
      bash_test_modules(test_ascend_group START_BASH test_ascend_group.sh ENVS
                        PADDLE_BINARY_DIR=${PADDLE_BINARY_DIR})
    endif()

    # port range (20000, 21200) is reserved for dist-ops
    set(dist_ut_port 20001)
    foreach(TEST_OP ${DIST_TEST_OPS})
      bash_test_modules(
        ${TEST_OP}
        START_BASH
        dist_test.sh
        LABELS
        "RUN_TYPE=EXCLUSIVE"
        ENVS
        "PADDLE_DIST_UT_PORT=${dist_ut_port}")
      math(EXPR dist_ut_port "${dist_ut_port}+10")
      if(dist_ut_port GREATER_EQUAL 21198)
        message(
          FATAL_ERROR "available ports have been exhausted:${dist_ut_port}")
      endif()
    endforeach()
    # solve it later.
    bash_test_modules(
      test_fleet_launch_ps
      START_BASH
      test_fleet_launch_ps.sh
      LABELS
      "RUN_TYPE=EXCLUSIVE"
      ENVS
      "PADDLE_DIST_UT_PORT=${dist_ut_port}"
      PADDLE_BINARY_DIR=${PADDLE_BINARY_DIR})
    if(WITH_GLOO)
      bash_test_modules(
        test_cpuonly_launch
        START_BASH
        test_cpuonly_launch.sh
        LABELS
        "RUN_TYPE=EXCLUSIVE"
        ENVS
        "PADDLE_DIST_UT_PORT=${dist_ut_port}"
        PADDLE_BINARY_DIR=${PADDLE_BINARY_DIR})
    endif()
  endif()
endif()

py_test_modules(test_parallel_executor_transformer MODULES
                test_parallel_executor_transformer)
if(WIN32)
  py_test_modules(
    test_parallel_executor_transformer_auto_growth MODULES
    test_parallel_executor_transformer_auto_growth ENVS
    FLAGS_allocator_strategy=auto_growth CUDA_VISIBLE_DEVICES=0)
  py_test_modules(test_fuse_all_reduce_pass MODULES test_fuse_all_reduce_pass
                  ENVS CUDA_VISIBLE_DEVICES=0)
  py_test_modules(test_feed_data_check_shape_type MODULES
                  test_feed_data_check_shape_type ENVS CUDA_VISIBLE_DEVICES=0)
  py_test_modules(test_fetch_lod_tensor_array MODULES
                  test_fetch_lod_tensor_array ENVS CUDA_VISIBLE_DEVICES=0)
else()
  py_test_modules(
    test_parallel_executor_transformer_auto_growth MODULES
    test_parallel_executor_transformer_auto_growth ENVS
    FLAGS_allocator_strategy=auto_growth)
  py_test_modules(test_fuse_all_reduce_pass MODULES test_fuse_all_reduce_pass)
  py_test_modules(test_feed_data_check_shape_type MODULES
                  test_feed_data_check_shape_type)
  py_test_modules(test_fetch_lod_tensor_array MODULES
                  test_fetch_lod_tensor_array)
endif()

py_test_modules(test_data_norm_op MODULES test_data_norm_op)
py_test_modules(
  test_fuse_bn_act_pass
  MODULES
  test_fuse_bn_act_pass
  ENVS
  FLAGS_cudnn_deterministic=1
  FLAGS_cudnn_batchnorm_spatial_persistent=1
  FLAGS_conv_workspace_size_limit=1000)
py_test_modules(
  test_fuse_bn_add_act_pass
  MODULES
  test_fuse_bn_add_act_pass
  ENVS
  FLAGS_cudnn_deterministic=1
  FLAGS_cudnn_batchnorm_spatial_persistent=1
  FLAGS_conv_workspace_size_limit=1000)

# NOTE: These unittests will appear NaN steadily in windows CI. After analysis,
# it is found that windows CI will run all the training unittests with the ON_INFER option turned on,
# which will not appear in other CIs. The calculation behavior of some ops in inference mode is
# inconsistent with that in non-inference mode.
if(WITH_PYTHON)
  py_test_modules(test_parallel_executor_seresnext_base_cpu MODULES
                  test_parallel_executor_seresnext_base_cpu)
  py_test_modules(test_parallel_executor_seresnext_with_reduce_cpu MODULES
                  test_parallel_executor_seresnext_with_reduce_cpu)
  py_test_modules(
    test_parallel_executor_seresnext_with_fuse_all_reduce_cpu MODULES
    test_parallel_executor_seresnext_with_fuse_all_reduce_cpu)
  set_tests_properties(test_parallel_executor_seresnext_base_cpu
                       PROPERTIES TIMEOUT 900)
  set_tests_properties(test_parallel_executor_seresnext_base_cpu
                       PROPERTIES LABELS "RUN_TYPE=NIGHTLY")
  set_tests_properties(test_parallel_executor_seresnext_with_reduce_cpu
                       PROPERTIES TIMEOUT 750)
  set_tests_properties(test_parallel_executor_seresnext_with_reduce_cpu
                       PROPERTIES LABELS "RUN_TYPE=NIGHTLY")
  set_tests_properties(test_parallel_executor_seresnext_with_fuse_all_reduce_cpu
                       PROPERTIES TIMEOUT 750)
  set_tests_properties(test_parallel_executor_seresnext_with_fuse_all_reduce_cpu
                       PROPERTIES LABELS "RUN_TYPE=NIGHTLY")
endif()

if(NOT WIN32)
  # TODO: fix these unittests failure on Windows
  py_test_modules(test_layers MODULES test_layers ENVS
                  FLAGS_cudnn_deterministic=1)
  py_test_modules(test_ir_memory_optimize_transformer MODULES
                  test_ir_memory_optimize_transformer)
endif()

# dist xpu tests:
if(WITH_XPU_BKCL)
  py_test(test_collective_allreduce_api_xpu
          SRCS "collective/test_collective_allreduce_api.py")
endif()

if(WITH_HETERPS)
  set_tests_properties(test_dist_fleet_ps11 PROPERTIES LABELS "RUN_TYPE=GPUPS")
  set_tests_properties(test_dist_fleet_ps12 PROPERTIES LABELS "RUN_TYPE=GPUPS")
endif()

if(WIN32)
  cc_test(
    cc_imp_py_test
    SRCS cc_imp_py_test.cc
    DEPS python)
endif()

set_tests_properties(
  test_buffer_shared_memory_reuse_pass_and_fuse_optimization_op_pass
  test_data_norm_op test_dataloader_keep_order test_dataloader_unkeep_order
  test_buffer_shared_memory_reuse_pass PROPERTIES LABELS "RUN_TYPE=DIST")
set_tests_properties(
  test_sync_batch_norm_op
  test_inplace_abn_op
  test_parallel_executor_seresnext_base_gpu
  test_parallel_executor_seresnext_with_reduce_gpu
  test_parallel_executor_seresnext_with_fuse_all_reduce_gpu
  test_distributed_fused_lamb_op_with_clip
  test_distributed_fused_lamb_op_without_clip
  test_distributed_fused_lamb_op_with_gradient_merge
  PROPERTIES LABELS "RUN_TYPE=DIST")

if(NOT WIN32 AND NOT APPLE)
  set_tests_properties(test_imperative_signal_handler
                       PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE")
  set_tests_properties(test_imperative_data_loader_base
                       PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE")
  set_tests_properties(test_imperative_data_loader_fds_clear
                       PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE")
  set_tests_properties(test_multiprocess_dataloader_static
                       PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE")
  set_tests_properties(test_multiprocess_dataloader_dynamic
                       PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE")
  set_tests_properties(test_multiprocess_dataloader_exception
                       PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE")
  set_tests_properties(test_multiprocess_dataloader_iterable_dataset_static
                       PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE")
  set_tests_properties(test_multiprocess_dataloader_iterable_dataset_dynamic
                       PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE")
  set_tests_properties(test_multiprocess_dataloader_dataset
                       PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE")
  set_tests_properties(test_multiprocess_dataloader_static PROPERTIES TIMEOUT
                                                                      120)
endif()

if(NOT WIN32)
  set_tests_properties(test_multiprocess_reader_exception
                       PROPERTIES LABELS "RUN_TYPE=EXCLUSIVE")
  set_tests_properties(test_layers PROPERTIES TIMEOUT 120)
  if(WITH_NV_JETSON)
    set_tests_properties(test_ir_memory_optimize_transformer PROPERTIES TIMEOUT
                                                                        1200)
  else()
    set_tests_properties(test_ir_memory_optimize_transformer PROPERTIES TIMEOUT
                                                                        120)
  endif()
endif()

if(WITH_DISTRIBUTE)
  set_tests_properties(test_dist_fleet_ctr2 PROPERTIES TIMEOUT 200)
  set_tests_properties(test_dist_fleet_sparse_embedding_ctr PROPERTIES TIMEOUT
                                                                       200)
  set_tests_properties(test_dist_fleet_infer PROPERTIES TIMEOUT 200)
  set_tests_properties(test_dist_fleet_raw_program_optimizer_fuse_allreduce
                       PROPERTIES TIMEOUT 60)
  set_tests_properties(test_dist_dygraph_apis PROPERTIES TIMEOUT 120)
endif()

# setting timeout value as 15S
set_tests_properties(test_run PROPERTIES TIMEOUT 120)
Z
zqw_1997 已提交
904
set_tests_properties(test_sync_batch_norm_op PROPERTIES TIMEOUT 180)
T
tianshuo78520a 已提交
905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950
set_tests_properties(test_cross_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_imperative_lod_tensor_to_selected_rows
                     PROPERTIES TIMEOUT 200)
set_tests_properties(test_lstm_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_imperative_star_gan_with_gradient_penalty
                     PROPERTIES TIMEOUT 120)

set_tests_properties(test_bicubic_interp_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_deformable_conv_op PROPERTIES TIMEOUT 200)
set_tests_properties(test_nearest_interp_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_profiler PROPERTIES TIMEOUT 120)
set_tests_properties(test_inplace_softmax_with_cross_entropy PROPERTIES TIMEOUT
                                                                        120)
set_tests_properties(test_cross_entropy2_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_cross_entropy_loss PROPERTIES TIMEOUT 180)
set_tests_properties(test_gru_unit_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_activation_nn_grad PROPERTIES TIMEOUT 200)
set_tests_properties(test_empty_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_parallel_executor_transformer PROPERTIES TIMEOUT 120)
set_tests_properties(test_elementwise_div_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_regularizer_api PROPERTIES TIMEOUT 150)
set_tests_properties(test_multiclass_nms_op PROPERTIES TIMEOUT 120)
if(NOT WIN32)
  if(WITH_NV_JETSON)
    set_tests_properties(test_ir_memory_optimize_nlp PROPERTIES TIMEOUT 1200)
  endif()
endif()
set_tests_properties(test_add_reader_dependency PROPERTIES TIMEOUT 120)
set_tests_properties(test_bilateral_slice_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_buffer_shared_memory_reuse_pass PROPERTIES TIMEOUT
                                                                     120)
set_tests_properties(test_fuse_relu_depthwise_conv_pass PROPERTIES TIMEOUT 120)
set_tests_properties(test_fleet_util PROPERTIES TIMEOUT 120)
set_tests_properties(test_imperative_transformer_sorted_gradient
                     PROPERTIES TIMEOUT 120)
set_tests_properties(test_matmul_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_nearest_interp_v2_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_trilinear_interp_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_bicubic_interp_v2_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_gather_op PROPERTIES TIMEOUT 180)
set_tests_properties(test_static_save_load PROPERTIES TIMEOUT 250)
set_tests_properties(test_pylayer_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_paddle_save_load_binary PROPERTIES TIMEOUT 120)
if(WIN32)
  set_tests_properties(test_static_save_load_large PROPERTIES TIMEOUT 900)
  set_tests_properties(test_paddle_save_load PROPERTIES TIMEOUT 250)
951
  set_tests_properties(test_cdist PROPERTIES TIMEOUT 250)
T
tianshuo78520a 已提交
952 953 954
else()
  set_tests_properties(test_static_save_load_large PROPERTIES TIMEOUT 600)
  set_tests_properties(test_paddle_save_load PROPERTIES TIMEOUT 250)
955
  set_tests_properties(test_cdist PROPERTIES TIMEOUT 120)
T
tianshuo78520a 已提交
956 957 958 959 960 961
endif()
if(WITH_NV_JETSON)
  set_tests_properties(test_concat_op PROPERTIES TIMEOUT 1200)
  set_tests_properties(test_conv3d_transpose_part2_op PROPERTIES TIMEOUT 1200)
  set_tests_properties(test_conv3d_op PROPERTIES TIMEOUT 1200)
  set_tests_properties(test_norm_op PROPERTIES TIMEOUT 1200)
962 963
  set_tests_properties(test_batch_norm_op_prim_nchw PROPERTIES TIMEOUT 1500)
  set_tests_properties(test_batch_norm_op_prim_nhwc PROPERTIES TIMEOUT 1500)
T
tianshuo78520a 已提交
964 965 966 967 968 969 970
  set_tests_properties(test_layer_norm_op PROPERTIES TIMEOUT 1500)
  set_tests_properties(test_pool3d_op PROPERTIES TIMEOUT 1500)
else()
  set_tests_properties(test_concat_op PROPERTIES TIMEOUT 120)
  set_tests_properties(test_conv3d_transpose_part2_op PROPERTIES TIMEOUT 120)
  set_tests_properties(test_conv3d_op PROPERTIES TIMEOUT 120)
  set_tests_properties(test_norm_op PROPERTIES TIMEOUT 120)
971 972
  set_tests_properties(test_batch_norm_op_prim_nchw PROPERTIES TIMEOUT 250)
  set_tests_properties(test_batch_norm_op_prim_nhwc PROPERTIES TIMEOUT 250)
973
  set_tests_properties(test_layer_norm_op PROPERTIES TIMEOUT 250)
T
tianshuo78520a 已提交
974 975
  set_tests_properties(test_pool3d_op PROPERTIES TIMEOUT 150)
endif()
976 977 978 979 980 981 982 983 984 985 986 987
if((WITH_GPU OR WITH_ROCM) AND (LINUX))
  py_test_modules(test_conv3d_transpose_op MODULES test_conv3d_transpose_op
                  ENVS NVIDIA_TF32_OVERRIDE=0)
  set_tests_properties(test_conv3d_transpose_op PROPERTIES TIMEOUT 120)
else()
  py_test_modules(test_conv3d_transpose_op MODULES test_conv3d_transpose_op)
  if(WITH_NV_JETSON)
    set_tests_properties(test_conv3d_transpose_op PROPERTIES TIMEOUT 1200)
  else()
    set_tests_properties(test_conv3d_transpose_op PROPERTIES TIMEOUT 120)
  endif()
endif()
T
tianshuo78520a 已提交
988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019
set_tests_properties(test_imperative_selected_rows_to_lod_tensor
                     PROPERTIES TIMEOUT 200)
set_tests_properties(test_index_select_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_index_add_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_tensordot PROPERTIES TIMEOUT 200)
set_tests_properties(test_partial_eager_deletion_transformer PROPERTIES TIMEOUT
                                                                        120)
set_tests_properties(test_parallel_executor_seresnext_with_reduce_gpu
                     PROPERTIES TIMEOUT 120)
set_tests_properties(test_dropout_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_argsort_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_gather_nd_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_nn_grad PROPERTIES TIMEOUT 180)
set_tests_properties(test_elementwise_sub_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_row_conv_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_parallel_executor_seresnext_with_fuse_all_reduce_gpu
                     PROPERTIES TIMEOUT 120)
set_tests_properties(test_distributed_fused_lamb_op_with_clip PROPERTIES TIMEOUT
                                                                         120)
set_tests_properties(test_distributed_fused_lamb_op_without_clip
                     PROPERTIES TIMEOUT 120)
set_tests_properties(test_distributed_fused_lamb_op_with_gradient_merge
                     PROPERTIES TIMEOUT 120)
set_tests_properties(test_elementwise_min_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_nan_inf PROPERTIES TIMEOUT 120)
set_tests_properties(test_deformable_conv_v1_op PROPERTIES TIMEOUT 300)
set_tests_properties(test_parallel_executor_transformer_auto_growth
                     PROPERTIES TIMEOUT 120)
set_tests_properties(test_elementwise_add_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_weight_decay PROPERTIES TIMEOUT 120)
set_tests_properties(test_imperative_ptb_rnn_sorted_gradient PROPERTIES TIMEOUT
                                                                        120)
1020
set_tests_properties(test_paddlescience PROPERTIES TIMEOUT 120)
T
tianshuo78520a 已提交
1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057
set_tests_properties(test_crop_tensor_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_imperative_ptb_rnn PROPERTIES TIMEOUT 120)
set_tests_properties(test_imperative_save_load_v2 PROPERTIES TIMEOUT 120)
set_tests_properties(test_conv2d_transpose_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_multiprocess_dataloader_iterable_dataset_static
                     PROPERTIES TIMEOUT 120)
set_tests_properties(test_lstm_cudnn_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_stack_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_bilinear_interp_v2_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_svd_op PROPERTIES TIMEOUT 80)
set_tests_properties(test_einsum_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_qr_op PROPERTIES TIMEOUT 60)
set_tests_properties(test_trilinear_interp_v2_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_masked_select_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_sigmoid_cross_entropy_with_logits_op
                     PROPERTIES TIMEOUT 120)
set_tests_properties(test_imperative_optimizer_v2 PROPERTIES TIMEOUT 150)
set_tests_properties(test_partial_sum_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_cond PROPERTIES TIMEOUT 120)
set_tests_properties(test_space_to_depth_op PROPERTIES TIMEOUT 200)
set_tests_properties(test_sgd_op PROPERTIES TIMEOUT 250)
set_tests_properties(test_parallel_executor_seresnext_base_gpu
                     PROPERTIES TIMEOUT 120)
set_tests_properties(test_norm_nn_grad PROPERTIES TIMEOUT 180)
set_tests_properties(test_matrix_nms_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_generator_dataloader PROPERTIES TIMEOUT 120)
set_tests_properties(test_partial_concat_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_fuse_optimizer_pass PROPERTIES TIMEOUT 120)
set_tests_properties(test_softmax_with_cross_entropy_op PROPERTIES TIMEOUT 220)
set_tests_properties(test_reduce_op PROPERTIES TIMEOUT 500)
set_tests_properties(test_adam_optimizer_fp32_fp64 PROPERTIES TIMEOUT 120)
set_tests_properties(test_elementwise_nn_grad PROPERTIES TIMEOUT 120)
set_tests_properties(
  test_buffer_shared_memory_reuse_pass_and_fuse_optimization_op_pass
  PROPERTIES TIMEOUT 120)
set_tests_properties(test_conv_nn_grad PROPERTIES TIMEOUT 120)
set_tests_properties(test_program_prune_backward PROPERTIES TIMEOUT 120)
1058
set_tests_properties(test_group_norm_op PROPERTIES TIMEOUT 300)
T
tianshuo78520a 已提交
1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101
set_tests_properties(test_imperative_optimizer PROPERTIES TIMEOUT 250)
set_tests_properties(test_imperative_optimizer_v2 PROPERTIES TIMEOUT 250)
set_tests_properties(test_pool2d_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_transpose_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_activation_op PROPERTIES TIMEOUT 270)
set_tests_properties(test_normal PROPERTIES TIMEOUT 120)
set_tests_properties(test_lstmp_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_bilinear_interp_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_decoupled_py_reader PROPERTIES TIMEOUT 120)
set_tests_properties(test_fuse_bn_act_pass PROPERTIES TIMEOUT 120)
set_tests_properties(test_conv2d_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_conv2d_op_depthwise_conv PROPERTIES TIMEOUT 120)
set_tests_properties(test_conv2d_api PROPERTIES TIMEOUT 120)
set_tests_properties(test_elementwise_mul_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_cyclic_cifar_dataset PROPERTIES TIMEOUT 120)
set_tests_properties(test_fuse_all_reduce_pass PROPERTIES TIMEOUT 120)
set_tests_properties(test_dygraph_multi_forward PROPERTIES TIMEOUT 120)
set_tests_properties(test_imperative_ocr_attention_model PROPERTIES TIMEOUT 120)
set_tests_properties(test_imperative_mnist PROPERTIES TIMEOUT 120)
set_tests_properties(test_fused_elemwise_activation_op PROPERTIES TIMEOUT 270)
set_tests_properties(test_fused_elemwise_activation_op
                     PROPERTIES LABELS "RUN_TYPE=NIGHTLY")
set_tests_properties(test_gru_op PROPERTIES TIMEOUT 200)
set_tests_properties(test_regularizer PROPERTIES TIMEOUT 150)
set_tests_properties(test_imperative_resnet PROPERTIES TIMEOUT 200)
set_tests_properties(test_imperative_resnet_sorted_gradient PROPERTIES TIMEOUT
                                                                       200)
set_tests_properties(test_imperative_se_resnext PROPERTIES TIMEOUT 200)
set_tests_properties(test_matmul_v2_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_slice_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_strided_slice_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_translated_layer PROPERTIES TIMEOUT 120)
set_tests_properties(test_pad3d_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_dataloader_keep_order PROPERTIES TIMEOUT 120)
set_tests_properties(test_mean_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_dataloader_unkeep_order PROPERTIES TIMEOUT 120)
set_tests_properties(test_reader_reset PROPERTIES TIMEOUT 120)
set_tests_properties(test_pool3d_api PROPERTIES TIMEOUT 120)
set_tests_properties(test_cumprod_op PROPERTIES TIMEOUT 120)
set_tests_properties(test_split_program PROPERTIES TIMEOUT 120)
set_tests_properties(test_graph_send_ue_recv_op PROPERTIES TIMEOUT 60)
set_tests_properties(test_graph_send_uv_op PROPERTIES TIMEOUT 60)

1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121
set_tests_properties(test_dataset_cifar PROPERTIES TIMEOUT 120)
set_tests_properties(test_pretrained_model PROPERTIES TIMEOUT 120)
set_tests_properties(test_model PROPERTIES TIMEOUT 300)
set_tests_properties(test_dataset_movielens PROPERTIES TIMEOUT 120)
set_tests_properties(test_datasets PROPERTIES TIMEOUT 300)
set_tests_properties(test_dataset_wmt PROPERTIES TIMEOUT 120)
set_tests_properties(test_vision_models PROPERTIES TIMEOUT 120)
set_tests_properties(test_dataset_uci_housing PROPERTIES TIMEOUT 120)
set_tests_properties(test_dataset_imdb PROPERTIES TIMEOUT 300)
set_tests_properties(test_pretrained_model PROPERTIES TIMEOUT 600)
set_tests_properties(test_callback_wandb PROPERTIES TIMEOUT 60)
if(WITH_COVERAGE)
  set_tests_properties(test_hapi_hub PROPERTIES TIMEOUT 300)
endif()

if(APPLE)
  set_tests_properties(test_callback_early_stop PROPERTIES TIMEOUT 300)
  set_tests_properties(test_callback_reduce_lr_on_plateau PROPERTIES TIMEOUT
                                                                     300)
  set_tests_properties(test_vision_models PROPERTIES TIMEOUT 300)
Z
Zheng-Bicheng 已提交
1122
endif()
1123
set_tests_properties(test_decorator PROPERTIES TIMEOUT 120)
T
tianshuo78520a 已提交
1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207

if(WITH_DISTRIBUTE
   AND WITH_GPU
   AND WITH_NCCL)
  set_tests_properties(test_auto_parallel_data_unshard PROPERTIES TIMEOUT 120)
  set_tests_properties(test_auto_parallel_save_load PROPERTIES TIMEOUT 120)
  set_tests_properties(test_auto_parallel_autoconvert PROPERTIES TIMEOUT 120)
endif()

if(APPLE)
  set_tests_properties(test_imperative_transformer_sorted_gradient
                       PROPERTIES TIMEOUT 300)
  set_tests_properties(test_multiclass_nms_op PROPERTIES TIMEOUT 300)
  set_tests_properties(test_weight_decay PROPERTIES TIMEOUT 300)
endif()

if((WITH_ROCM OR WITH_GPU) AND NOT WIN32)
  if(WITH_DISTRIBUTE)
    set_tests_properties(test_static_model_parallel_fused_feedforward
                         PROPERTIES TIMEOUT 120)
    set_tests_properties(test_static_model_parallel_fused_attention
                         PROPERTIES TIMEOUT 120)
    set_tests_properties(test_static_model_parallel_fused_multi_transformer
                         PROPERTIES TIMEOUT 120)
    set_tests_properties(test_pipeline_parallel PROPERTIES LABELS
                                                           "RUN_TYPE=DIST")
    set_tests_properties(test_reducescatter PROPERTIES TIMEOUT 120)
    set_tests_properties(test_allgather PROPERTIES TIMEOUT 120)
  endif()
  set_tests_properties(test_paddle_multiprocessing PROPERTIES TIMEOUT 120)
  set_tests_properties(test_pipeline_parallel PROPERTIES TIMEOUT 120)
endif()
if(WITH_GPU OR WITH_ROCM)
  set_tests_properties(test_rank_attention_op PROPERTIES TIMEOUT 120)
endif()
if(WITH_GPU AND NOT WIN32)
  set_tests_properties(test_fused_multi_transformer_int8_op PROPERTIES TIMEOUT
                                                                       60)
endif()
set_tests_properties(test_inplace_addto_strategy PROPERTIES TIMEOUT 120)
set_tests_properties(test_eigvals_op PROPERTIES TIMEOUT 400)
set_tests_properties(
  test_cuda_memory_reserved PROPERTIES ENVIRONMENT
                                       "FLAGS_allocator_strategy=auto_growth")
if(WITH_GLOO)
  set_tests_properties(test_parallel_dygraph_dataparallel_cpuonly
                       PROPERTIES TIMEOUT 30)
  set_tests_properties(test_parallel_dygraph_unused_variables_gloo
                       PROPERTIES TIMEOUT 120)
  set_tests_properties(test_parallel_dygraph_sparse_embedding_gloo
                       PROPERTIES TIMEOUT 120)
  set_tests_properties(test_parallel_dygraph_sparse_embedding_over_height_gloo
                       PROPERTIES TIMEOUT 120)
endif()

set(TEST_CINN_OPS
    test_softmax_op
    test_expand_v2_op
    test_reduce_op
    test_slice_op
    test_stack_op
    test_activation_op
    test_full_like_op
    test_index_select_op
    test_fill_any_like_op
    test_concat_op
    test_top_k_v2_op
    test_elementwise_add_op
    test_elementwise_sub_op
    test_elementwise_div_op
    test_elementwise_mul_op
    test_gather_nd_op
    test_squeeze2_op
    test_elementwise_pow_op
    test_elementwise_max_op
    test_transpose_op
    test_reshape_op
    test_mean_op
    test_unsqueeze2_op
    test_meshgrid_op
    test_scale_op
    test_clip_op
    test_scatter_op
    test_gather_op
1208 1209
    test_batch_norm_op_prim_nchw
    test_batch_norm_op_prim_nhwc
T
tianshuo78520a 已提交
1210 1211 1212 1213 1214 1215 1216
    test_layer_norm_op
    test_cast_op
    test_dropout_op
    test_group_norm_op
    test_tile_op
    test_roll_op
    test_sum_op
1217
    test_elementwise_min_op
1218 1219 1220 1221
    test_atan2_op
    test_top_k_op
    test_where_op
    test_take_along_axis_op
1222 1223 1224 1225 1226
    test_arg_min_max_op
    test_reverse_op
    test_flip
    test_triangular_solve_op
    test_scatter_nd_op
1227
    test_strided_slice_op
1228
    test_pool2d_op
1229
    test_instance_norm_op
1230 1231
    test_cumsum_op
    test_pad_op
1232 1233 1234 1235
    test_split_op
    test_erf_op
    test_assign_op
    test_flatten_contiguous_range_op)
T
tianshuo78520a 已提交
1236

1237
foreach(TEST_CINN_OP ${TEST_CINN_OPS})
T
tianshuo78520a 已提交
1238
  if(WITH_CINN)
1239 1240 1241 1242 1243 1244
    set_tests_properties(${TEST_CINN_OP} PROPERTIES LABELS "RUN_TYPE=CINN")

    get_test_property(${TEST_CINN_OP} TIMEOUT ORIGIN_TIME_OUT)
    if((NOT ${ORIGIN_TIME_OUT}) OR (${ORIGIN_TIME_OUT} LESS 200))
      set_tests_properties(${TEST_CINN_OP} PROPERTIES TIMEOUT 200)
    endif()
T
tianshuo78520a 已提交
1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270
  endif()
endforeach()

if(WITH_CINN AND WITH_TESTING)
  set_tests_properties(
    test_parallel_executor_run_cinn
    PROPERTIES
      LABELS
      "RUN_TYPE=CINN"
      ENVIRONMENT
      FLAGS_allow_cinn_ops="conv2d;conv2d_grad;elementwise_add;elementwise_add_grad;relu;relu_grad;sum"
  )
endif()

set_tests_properties(
  test_cuda_graph_static_mode
  PROPERTIES ENVIRONMENT "FLAGS_CUDA_GRAPH_USE_STANDALONE_EXECUTOR=1")
set_tests_properties(
  test_cuda_graph_static_mode_error
  PROPERTIES ENVIRONMENT "FLAGS_CUDA_GRAPH_USE_STANDALONE_EXECUTOR=1")

# These UTs are to temporarily test static build for standalone_executor, will be removed after static build is enabled by default.
set(STATIC_BUILD_TESTS
    test_adagrad_op
    test_adamw_op
    test_arg_min_max_op
1271
    test_assign_pos_op
T
tianshuo78520a 已提交
1272
    test_bincount_op
1273 1274
    test_c_embedding_op
    test_decayed_adagrad_op
T
tianshuo78520a 已提交
1275 1276 1277 1278 1279
    test_decoupled_py_reader
    test_eig_op
    test_eigh_op
    test_fake_quantize_op
    test_fetch_lod_tensor_array
1280
    test_ftrl_op
T
tianshuo78520a 已提交
1281 1282 1283 1284 1285 1286 1287 1288
    test_fused_attention_op
    test_fused_attention_op_api
    test_fuse_bn_act_pass
    test_fused_feedforward_op
    test_fused_feedforward_pass
    test_imperative_optimizer
    test_lamb_op
    test_layer_norm_op
1289
    test_limit_by_capacity_op
T
tianshuo78520a 已提交
1290 1291 1292 1293 1294 1295 1296
    test_lookup_table_bf16_op
    test_lookup_table_v2_op
    test_matmul_op
    test_matmul_v2_op
    test_merged_adam_op
    test_momentum_op
    test_nce
1297
    test_number_count_op
T
tianshuo78520a 已提交
1298
    test_paddle_save_load_binary
1299 1300
    test_prune_gate_by_capacity_op
    test_random_routing_op
T
tianshuo78520a 已提交
1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322
    test_reduce_op
    test_segment_ops
    test_sparse_momentum_op
    test_sgd_op_bf16
    test_softmax_mask_fuse_upper_triangle_op
    test_sparse_conv_op
    test_sparse_norm_op
    test_sparse_pooling_op
    test_sync_batch_norm_op
    test_tensor_array_to_tensor
    test_unique
    test_update_loss_scaling_op
    test_while_op
    test_one_hot_v2_op)

if(NOT WITH_GPU)
  list(REMOVE_ITEM STATIC_BUILD_TESTS test_fused_attention_op)
  list(REMOVE_ITEM STATIC_BUILD_TESTS test_fused_attention_op_api)
  list(REMOVE_ITEM STATIC_BUILD_TESTS test_fused_feedforward_op)
  list(REMOVE_ITEM STATIC_BUILD_TESTS test_fused_feedforward_op_pass)
endif()

1323 1324 1325 1326
if(((NOT WITH_ROCM) AND (NOT WITH_GPU)) OR WIN32)
  list(REMOVE_ITEM STATIC_BUILD_TESTS test_c_embedding_op)
endif()

T
tianshuo78520a 已提交
1327 1328 1329 1330 1331 1332
foreach(STATIC_BUILD_TEST ${STATIC_BUILD_TESTS})
  py_test_modules(
    ${STATIC_BUILD_TEST}_static_build MODULES ${STATIC_BUILD_TEST} ENVS
    FLAGS_new_executor_static_build=true)
endforeach()

1333 1334
set(NEW_IR_COVERAGE_TESTS test_label_smooth_op test_instance_norm_op_v2
                          test_edit_distance_op)
1335 1336 1337 1338 1339 1340 1341 1342 1343

foreach(NEW_IR_COVERAGE_TEST ${NEW_IR_COVERAGE_TESTS})
  py_test_modules(
    ${NEW_IR_COVERAGE_TEST}_new_ir MODULES ${NEW_IR_COVERAGE_TEST} ENVS
    FLAGS_enable_new_ir_in_executor=true)
endforeach()

set_tests_properties(test_instance_norm_op_v2_new_ir PROPERTIES TIMEOUT 120)

T
tianshuo78520a 已提交
1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363
set_tests_properties(test_decoupled_py_reader_static_build PROPERTIES TIMEOUT
                                                                      120)
set_tests_properties(test_fuse_bn_act_pass_static_build PROPERTIES TIMEOUT 120)
set_tests_properties(
  test_fuse_bn_act_pass_static_build
  PROPERTIES
    ENVIRONMENT
    "FLAGS_cudnn_deterministic=1;FLAGS_cudnn_batchnorm_spatial_persistent=1;FLAGS_conv_workspace_size_limit=1000"
)
set_tests_properties(test_imperative_optimizer_static_build PROPERTIES TIMEOUT
                                                                       250)
set_tests_properties(test_matmul_op_static_build PROPERTIES TIMEOUT 120)
set_tests_properties(test_matmul_v2_op_static_build PROPERTIES TIMEOUT 120)
set_tests_properties(test_layer_norm_op_static_build PROPERTIES TIMEOUT 1500)
set_tests_properties(test_paddle_save_load_binary_static_build
                     PROPERTIES TIMEOUT 120)
set_tests_properties(test_reduce_op_static_build PROPERTIES TIMEOUT 500)
set_tests_properties(test_sync_batch_norm_op_static_build
                     PROPERTIES LABELS "RUN_TYPE=DIST")
set_tests_properties(test_sync_batch_norm_op_static_build PROPERTIES TIMEOUT
1364
                                                                     250)
W
wanghuancoder 已提交
1365

1366
file(STRINGS "${CMAKE_SOURCE_DIR}/test/white_list/new_ir_op_test_white_list"
1367 1368 1369 1370 1371 1372 1373
     NEW_IR_OP_TESTS)
foreach(IR_OP_TEST ${NEW_IR_OP_TESTS})
  if(TEST ${IR_OP_TEST})
    set_tests_properties(
      ${IR_OP_TEST} PROPERTIES ENVIRONMENT
                               "FLAGS_NEW_IR_OPTEST_WHITE_LIST=True")
  else()
1374
    message(STATUS "NewIR OpTest: not found ${IR_OP_TEST} in legacy_test")
1375 1376
  endif()
endforeach()
W
wanghuancoder 已提交
1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413

set(STRIED_TESTS
    test_complex_getitem
    test_complex_grad_accumulated
    test_complex_simplenet
    test_conv1d_layer
    test_conv1d_transpose_layer
    test_conv2d_layer
    test_diagonal_op
    test_imperative_ocr_attention_model
    test_imperative_ptb_rnn
    test_imperative_ptb_rnn_sorted_gradient
    test_initializer
    test_inplace
    test_real_imag_op
    test_reshape_op
    test_set_value_op
    test_signal
    test_slice_op
    test_solve_op
    test_squeeze_op
    test_squeeze2_op
    test_unbind_op
    test_unsqueeze_op
    test_unsqueeze2_op
    test_var_base)

foreach(STRIED_TEST ${STRIED_TESTS})
  py_test_modules(${STRIED_TEST}_with_stride MODULES ${STRIED_TEST} ENVS
                  FLAGS_use_stride_kernel=true)
  set_tests_properties(${STRIED_TEST}_with_stride PROPERTIES TIMEOUT 120)
endforeach()

py_test_modules(test_stride MODULES test_stride ENVS
                FLAGS_use_stride_kernel=true)

set_tests_properties(test_slice_op_with_stride PROPERTIES TIMEOUT 300)