I've committed this patch to the devel/omp/gcc-12 branch. I will have to fold it into my previous OpenMP memory management patch series when I repost it.

The GFX908 (MI100) devices only partially support the Unified Shared Memory model that we have, and only then with additional kernel boot parameters. Without that there are unexplained memory access faults at runtime, and it's generally not a good user experience.

For this reason we have decided not to support USM on gfx908 in the toolchain. The gfx90a (MI200) devices are still supported.

Andrew
amdgcn: disallow USM on gfx908

It does work, but not well and only with the amdgpu.noreply=0 kernel boot
option.

gcc/ChangeLog:

        * config/gcn/gcn.cc (gcn_init_cumulative_args): Disallow gfx908.

diff --git a/gcc/config/gcn/gcn.cc b/gcc/config/gcn/gcn.cc
index 9c2fd4c5b8a..720c0a08a13 100644
--- a/gcc/config/gcn/gcn.cc
+++ b/gcc/config/gcn/gcn.cc
@@ -2905,6 +2905,7 @@ gcn_init_cumulative_args (CUMULATIVE_ARGS *cum /* 
Argument info to init */ ,
        case PROCESSOR_FIJI:
        case PROCESSOR_VEGA10:
        case PROCESSOR_VEGA20:
+       case PROCESSOR_GFX908:
          error ("GPU architecture does not support Unified Shared Memory");
        default:
          ;

Reply via email to