@@ -48,22 +48,33 @@ prepare_artifacts_upload() {
4848 fi
4949}
5050
51+
5152build_cmake_executor_runner () {
5253 local backend_string_select=" ${1:- } "
5354 echo " Building executor_runner"
5455 rm -rf ${CMAKE_OUTPUT_DIR}
5556 mkdir ${CMAKE_OUTPUT_DIR}
57+ # Common options:
58+ COMMON=" -DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE "
5659 if [[ " $backend_string_select " == " XNNPACK" ]]; then
5760 echo " Backend $backend_string_select selected"
58- (cd ${CMAKE_OUTPUT_DIR} \
59- && cmake -DCMAKE_BUILD_TYPE=Release \
61+ cmake -DCMAKE_BUILD_TYPE=Release \
6062 -DEXECUTORCH_BUILD_XNNPACK=ON \
61- -DPYTHON_EXECUTABLE=" $PYTHON_EXECUTABLE " ..)
63+ ${COMMON} \
64+ -B${CMAKE_OUTPUT_DIR} .
65+ cmake --build ${CMAKE_OUTPUT_DIR} -j4
66+ elif [[ " $backend_string_select " == " CUDA" ]]; then
67+ echo " Backend $backend_string_select selected"
68+ cmake -DCMAKE_BUILD_TYPE=Release \
69+ -DEXECUTORCH_BUILD_CUDA=ON \
70+ -DEXECUTORCH_BUILD_EXTENSION_TENSOR=ON \
71+ ${COMMON} \
72+ -B${CMAKE_OUTPUT_DIR} .
6273 cmake --build ${CMAKE_OUTPUT_DIR} -j4
6374 else
6475 cmake -DCMAKE_BUILD_TYPE=Debug \
6576 -DEXECUTORCH_BUILD_KERNELS_OPTIMIZED=ON \
66- -DPYTHON_EXECUTABLE= " $PYTHON_EXECUTABLE " \
77+ ${COMMON} \
6778 -B${CMAKE_OUTPUT_DIR} .
6879 cmake --build ${CMAKE_OUTPUT_DIR} -j4 --config Debug
6980 fi
@@ -320,6 +331,13 @@ test_model_with_mediatek() {
320331 EXPORTED_MODEL=$( find " ./${EXPORT_SCRIPT} " -type f -name " *.pte" -print -quit)
321332}
322333
334+ test_model_with_cuda () {
335+ # Export a basic .pte and .ptd, then run the model.
336+ " ${PYTHON_EXECUTABLE} " -m examples.cuda.scripts.export --model_name=" ${MODEL_NAME} " --output_dir " ./"
337+ build_cmake_executor_runner " CUDA"
338+ ./${CMAKE_OUTPUT_DIR} /executor_runner --model_path " ./${MODEL_NAME} .pte" --data_path " ./aoti_cuda_blob.ptd"
339+ }
340+
323341
324342if [[ " ${BACKEND} " == " portable" ]]; then
325343 echo " Testing ${MODEL_NAME} with portable kernels..."
@@ -372,6 +390,12 @@ elif [[ "${BACKEND}" == "mediatek" ]]; then
372390 if [[ $? -eq 0 ]]; then
373391 prepare_artifacts_upload
374392 fi
393+ elif [[ " ${BACKEND} " == " cuda" ]]; then
394+ echo " Testing ${MODEL_NAME} with cuda..."
395+ test_model_with_cuda
396+ if [[ $? -eq 0 ]]; then
397+ prepare_artifacts_upload
398+ fi
375399else
376400 set +e
377401 if [[ " ${BACKEND} " == * " quantization" * ]]; then
0 commit comments