diff --git a/.github/workflows/iluvatar-gpu.yml b/.github/workflows/iluvatar-gpu.yml new file mode 100644 index 00000000..fc3b3930 --- /dev/null +++ b/.github/workflows/iluvatar-gpu.yml @@ -0,0 +1,111 @@ +name: Run Tests on gpu and iluvatar +on: + pull_request: + paths: + - "tests/**" # 将api-config 放在tests下面 命名为test.txt + +jobs: + # upload_on_gpu: + # name: Upload on bj-gpu-03 runner + # runs-on: [bj-gpu-03] + # container: + # image: ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddle:3.2.1-gpu-cuda11.8-cudnn8.9 + # steps: + # - name: Checkout code + # uses: actions/checkout@v4 + + # - name: Setup Python + # uses: actions/setup-python@v5 + # with: + # python-version: "3.10" + + # - name: Install dependencies (bj-gpu-03) + # shell: bash + # run: | + # set -euxo pipefail + # pip install --pre paddlepaddle-gpu -i https://www.paddlepaddle.org.cn/packages/nightly/cu118/ + # pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 + # pip install func_timeout pandas pebble pynvml pyyaml + + # - name: Run EngineV2 (upload on bj-gpu-03) + # shell: bash + # run: | + # set -euxo pipefail + # python engineV2.py \ + # --custom_device_vs_gpu=True \ + # --custom_device_vs_gpu_mode=upload \ + # --random_seed=42 \ + # --api_config_file="tests/test.txt" \ + # --num_gpus=-1 \ + # --num_workers_per_gpu=1 \ + # --required_memory=10.0 + + # - name: Package logs (bj-gpu-03) + # if: always() + # shell: bash + # run: | + # set -euxo pipefail + # tar -czf test_log.tar.gz tester/api_config/test_log + + # - name: Upload test logs artifact (bj-gpu-03) + # if: always() + # uses: actions/upload-artifact@v4 + # with: + # name: test_log_bj-gpu-03 + # path: test_log.tar.gz + + download_on_iluvatar: + name: Download on iluvatar-gpu-2-1 runner + runs-on: [iluvatar-gpu-2-1] + container: + image: ccr-2vdh3abv-pub.cnc.bj.baidubce.com/device/paddle-ixuca:latest + # needs: upload_on_gpu + steps: + - name: Set up Proxy + run: | + export http_proxy=http://agent.baidu.com:8891 + export https_proxy=$http_proxy + + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install dependencies (iluvatar-gpu-2-1) + shell: bash + run: | + set -euxo pipefail + pip install func_timeout pandas pebble pynvml pyyaml + python -m pip install paddlepaddle==3.2.0 -i https://www.paddlepaddle.org.cn/packages/stable/cpu/ + python -m pip install paddle-iluvatar-gpu==3.2.0 -i https://www.paddlepaddle.org.cn/packages/stable/ixuca/ + pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu + + - name: Run EngineV2 (download on iluvatar-gpu-2-1) + shell: bash + run: | + set -euxo pipefail + python engineV2.py \ + --custom_device_vs_gpu=True \ + --custom_device_vs_gpu_mode=download \ + --random_seed=42 \ + --api_config_file="tests/test.txt" \ + --num_gpus=-1 \ + --num_workers_per_gpu=1 \ + --required_memory=10.0 + + - name: Package logs (iluvatar-gpu-2-1) + if: always() + shell: bash + run: | + set -euxo pipefail + tar -czf test_log.tar.gz tester/api_config/test_log + + - name: Upload test logs artifact (iluvatar-gpu-2-1) + if: always() + uses: actions/upload-artifact@v4 + with: + name: test_log_iluvatar-gpu-2-1 + path: test_log.tar.gz diff --git a/tester/bos_config.yaml b/tester/bos_config.yaml index a981d9c9..1d26becf 100644 --- a/tester/bos_config.yaml +++ b/tester/bos_config.yaml @@ -5,8 +5,8 @@ bos_path: "xly-devops/liujingzong/" # BOS 配置文件路径(bcecmd 使用的配置文件路径) -bos_conf_path: "./conf" +bos_conf_path: "home/conf/credentials" # bcecmd 命令行工具路径 -bcecmd_path: "./bcecmd" +bcecmd_path: "home/bcecmd" diff --git a/tests/test.txt b/tests/test.txt new file mode 100644 index 00000000..ab4d0bb4 --- /dev/null +++ b/tests/test.txt @@ -0,0 +1,100 @@ +paddle.Tensor.__abs__(Tensor([10, 1024],"complex64"), ) +paddle.Tensor.__abs__(Tensor([10, 1024],"float32"), ) +paddle.Tensor.__abs__(Tensor([1],"float32"), ) +paddle.Tensor.__abs__(Tensor([],"float32"), ) +paddle.Tensor.__add__(Tensor([0, 4],"float16"), 1, ) +paddle.Tensor.__add__(Tensor([0, 4],"float32"), 1, ) +paddle.Tensor.__add__(Tensor([0, 4],"float32"), Tensor([0, 4],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1, 1],"float32"), Tensor([1, 1, 1, 1],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1, 1],"float32"), Tensor([1, 1, 24276, 1],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1, 1],"float32"), Tensor([1, 1, 27216, 1],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1, 1],"float32"), Tensor([1, 1, 30324, 1],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1, 1],"float32"), Tensor([1, 1, 33600, 1],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1, 1],"float32"), Tensor([1, 1, 37044, 1],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1, 1],"float32"), Tensor([1, 1, 40656, 1],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1, 1],"float32"), Tensor([1, 1, 44436, 1],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1, 1],"float32"), Tensor([1, 1, 48384, 1],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1, 1],"float32"), Tensor([1, 1, 52500, 1],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1, 1],"float32"), Tensor([1, 1, 56784, 1],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1, 1],"float32"), Tensor([1, 1, 65856, 1],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1, 1],"float32"), Tensor([1, 1, 70644, 1],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1, 1],"float32"), Tensor([1, 1, 75600, 1],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1, 23],"float32"), Tensor([1, 1, 1, 23],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1, 24],"float32"), Tensor([1, 1, 1, 24],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1, 25],"float32"), Tensor([1, 1, 1, 25],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1, 26],"float32"), Tensor([1, 1, 1, 26],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1, 32],"float32"), Tensor([1, 1, 1, 32],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 100],"float32"), 1e-06, ) +paddle.Tensor.__add__(Tensor([1, 1, 1024],"float32"), Tensor([1, 1, 1024],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1024],"float32"), Tensor([1, 1024],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 10285],"float32"), 1e-09, ) +paddle.Tensor.__add__(Tensor([1, 1, 11, 11],"float32"), Tensor([1, 1, 11, 11],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1280],"float32"), Tensor([1, 1, 1280],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1280],"float32"), Tensor([1, 1280],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 128],"float32"), Tensor([1, 1, 128],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 13],"float32"), 1e-06, ) +paddle.Tensor.__add__(Tensor([1, 1, 144],"float32"), 1e-06, ) +paddle.Tensor.__add__(Tensor([1, 1, 15, 84],"float32"), Tensor([1, 1, 15, 84],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 15],"float32"), 1e-06, ) +paddle.Tensor.__add__(Tensor([1, 1, 16, 84],"float32"), Tensor([1, 1, 16, 84],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 16],"float32"), Tensor([1, 1, 16],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 16],"float32"), Tensor([1, 16],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 18],"float32"), 1e-06, ) +paddle.Tensor.__add__(Tensor([1, 1, 19, 80],"float32"), Tensor([1, 1, 19, 80],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 19, 81],"float32"), Tensor([1, 1, 19, 81],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 19, 84],"float32"), Tensor([1, 1, 19, 84],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1],"float32"), 1e-05, ) +paddle.Tensor.__add__(Tensor([1, 1, 1],"float32"), 1e-06, ) +paddle.Tensor.__add__(Tensor([1, 1, 1],"float32"), 1e-09, ) +paddle.Tensor.__add__(Tensor([1, 1, 1],"float32"), Tensor([1, 1, 10285],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1],"float32"), Tensor([1, 1, 1],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1],"float32"), Tensor([1, 1, 24276],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1],"float32"), Tensor([1, 1, 27216],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1],"float32"), Tensor([1, 1, 30324],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1],"float32"), Tensor([1, 1, 33600],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1],"float32"), Tensor([1, 1, 3598],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1],"float32"), Tensor([1, 1, 37044],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1],"float32"), Tensor([1, 1, 40656],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1],"float32"), Tensor([1, 1, 4165],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1],"float32"), Tensor([1, 1, 44436],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1],"float32"), Tensor([1, 1, 48384],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1],"float32"), Tensor([1, 1, 52500],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1],"float32"), Tensor([1, 1, 5440],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1],"float32"), Tensor([1, 1, 56784],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1],"float32"), Tensor([1, 1, 6150],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1],"float32"), Tensor([1, 1, 65856],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1],"float32"), Tensor([1, 1, 6885],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1],"float32"), Tensor([1, 1, 70644],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1],"float32"), Tensor([1, 1, 75600],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1],"float32"), Tensor([1, 1, 8400],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 1],"float32"), Tensor([1, 1, 8500],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 2, 2],"float32"), Tensor([1, 1, 2, 2],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 2, 8],"float32"), Tensor([1, 1, 2, 8],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 20, 20],"float32"), Tensor([1, 1, 20, 20],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 20, 22],"float32"), Tensor([1, 1, 20, 22],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 200],"float32"), 1e-06, ) +paddle.Tensor.__add__(Tensor([1, 1, 24276],"float32"), 1e-09, ) +paddle.Tensor.__add__(Tensor([1, 1, 24276],"float32"), Tensor([1, 1, 24276],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 256],"float32"), Tensor([1, 1, 256],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 25],"float32"), 1e-06, ) +paddle.Tensor.__add__(Tensor([1, 1, 272, 49],"float32"), Tensor([1, 1, 272, 49],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 27216],"float32"), 1e-09, ) +paddle.Tensor.__add__(Tensor([1, 1, 27216],"float32"), Tensor([1, 1, 27216],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 273, 49],"float32"), Tensor([1, 1, 273, 49],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 276, 45],"float32"), Tensor([1, 1, 276, 45],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 276, 46],"float32"), Tensor([1, 1, 276, 46],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 276, 49],"float32"), Tensor([1, 1, 276, 49],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 2],"float32"), Tensor([1, 1, 2],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 30324],"float32"), 1e-09, ) +paddle.Tensor.__add__(Tensor([1, 1, 30324],"float32"), Tensor([1, 1, 30324],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 30],"float32"), 1e-06, ) +paddle.Tensor.__add__(Tensor([1, 1, 32],"float32"), Tensor([1, 1, 32],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 33600],"float32"), 1e-09, ) +paddle.Tensor.__add__(Tensor([1, 1, 33600],"float32"), Tensor([1, 1, 33600],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 3598],"float32"), 1e-09, ) +paddle.Tensor.__add__(Tensor([1, 1, 36],"float32"), 1e-06, ) +paddle.Tensor.__add__(Tensor([1, 1, 37044],"float32"), 1e-09, ) +paddle.Tensor.__add__(Tensor([1, 1, 37044],"float32"), Tensor([1, 1, 37044],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 37],"float32"), Tensor([1, 1, 37],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 384],"float32"), Tensor([1, 1, 384],"float32"), ) +paddle.Tensor.__add__(Tensor([1, 1, 384],"float32"), Tensor([1, 384],"float32"), ) \ No newline at end of file