Unsupported gpu architecture 'compute_10'

704 views
Skip to first unread message

my

<a1575883782@gmail.com>
unread,
Jun 14, 2022, 9:32:54 AM6/14/22
to accel-sim

Hi,

I use the docker image to run accel-sim(https://hub.docker.com/repository/docker/accelsim/ubuntu-18.04_cuda-11).


When I run command `source ./gpu-app-collection/src/setup_environment`,I met a series of errors. Like `Unsupported gpu architecture 'compute_10'`、`Unsupported gpu architecture 'compute_11'`, and so on.

```

../../common/common.mk:445: recipe for target 'obj/x86_64/release/Mandelbrot_sm11.cu_11.o' failed

make[2]: [obj/x86_64/release/Mandelbrot_sm11.cu_11.o] Error 1 (ignored)

nvcc fatal : Unsupported gpu architecture 'compute_13'

../../common/common.mk:445: recipe for target 'obj/x86_64/release/Mandelbrot_sm13.cu_13.o' failed

make[2]: [obj/x86_64/release/Mandelbrot_sm13.cu_13.o] Error 1 (ignored)

nvcc fatal : Unsupported gpu architecture 'compute_10'

```


My nvcc version is 11.0.167 because I use docker image. I tried to find the reason. So I checked the GPU architecture supported by nvcc. I run `nvcc --help`, and the output is:

```

--gpu-architecture <arch> (-arch)            

    Specify the name of the class of NVIDIA 'virtual' GPU architecture for which

    the CUDA input files must be compiled.

    With the exception as described for the shorthand below, the architecture

    specified with this option must be a 'virtual' architecture (such as compute_50).

    Normally, this option alone does not trigger assembly of the generated PTX

    for a 'real' architecture (that is the role of nvcc option '--gpu-code',

    see below); rather, its purpose is to control preprocessing and compilation

    of the input to PTX.

    For convenience, in case of simple nvcc compilations, the following shorthand

    is supported. If no value for option '--gpu-code' is specified, then the

    value of this option defaults to the value of '--gpu-architecture'. In this

    situation, as only exception to the description above, the value specified

    for '--gpu-architecture' may be a 'real' architecture (such as a sm_50),

    in which case nvcc uses the specified 'real' architecture and its closest

    'virtual' architecture as effective architecture values. For example, 'nvcc

    --gpu-architecture=sm_50' is equivalent to 'nvcc --gpu-architecture=compute_50

    --gpu-code=sm_50,compute_50'.

     Note: the values compute_30, compute_32, compute_35, compute_37, compute_50,

    sm_30, sm_32, sm_35, sm_37 and sm_50 are deprecated and may be removed in

    a future release.

    Allowed values for this option: 'compute_30','compute_32','compute_35',

    'compute_37','compute_50','compute_52','compute_53','compute_60','compute_61',

    'compute_62','compute_70','compute_72','compute_75','compute_80','sm_30',

    'sm_32','sm_35','sm_37','sm_50','sm_52','sm_53','sm_60','sm_61','sm_62',

    'sm_70','sm_72','sm_75','sm_80'.

```

So I guessed nvcc 11 did not support compute_10, compute_11, compute_13 and compute_20. But I did not know how to deal with it. Can anyone help me? Do I need to switch another version of nvcc?




Junrui Pan

<panjunrui100@gmail.com>
unread,
Aug 17, 2022, 12:14:40 AM8/17/22
to accel-sim
Hi, 

Sorry for the late reply. 
Please ignore the error. This is expected. Just go ahead and build the binaries. We set "-i" during make to ignore these errors. We do not need the entire CUDA SDK to be built. We only need some shared libraries. All the apps in the gpu-app-collection are tested. 

Thanks

Reply all
Reply to author
Forward
0 new messages