Cannot allocate GPUs even though GPUs are available

I am trying to allocate 2 A40 nodes, and each node is with 2 tasks. The job id is 14976637, and here is the command I am using.

sbatch \
    --account=xxxxx \
    --partition=gpu \
    --gres=gpu:a40:2 \
    --nodes=2 \
    --ntasks-per-node=2 \
    --cpus-per-task=8 \
    --mem-per-cpu=2GB \
    --time=12:00:00 \
    xxxx.job arg1 arg2

It shows that the job is pending all the time, even with Priority.

Then I check the gpu status with gpuinfo, and there are 11 A40s available.

I am wondering why I cannot allocate 4 A40 GPUs when 11 A40 GPUs are available. Thanks a lot.