Skip to content
Snippets Groups Projects
  • Tobias Burnus's avatar
    18f47798
    libgomp: Enable USM for AMD APUs and MI200 devices · 18f47798
    Tobias Burnus authored
    If HSA_AMD_SYSTEM_INFO_SVM_ACCESSIBLE_BY_DEFAULT is true,
    all GPUs on the system support unified shared memory. That's
    the case for APUs and MI200 devices when XNACK is enabled.
    
    XNACK can be enabled by setting HSA_XNACK=1 as env var for
    supported devices; otherwise, if disable, USM code will
    use host fallback.
    
    gcc/ChangeLog:
    
    	* config/gcn/gcn-hsa.h (gcn_local_sym_hash): Fix typo.
    
    include/ChangeLog:
    
    	* hsa.h (HSA_AMD_SYSTEM_INFO_SVM_ACCESSIBLE_BY_DEFAULT): Add
    	enum value.
    
    libgomp/ChangeLog:
    
    	* libgomp.texi (gcn): Update USM handling
    	* plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Handle
    	USM if HSA_AMD_SYSTEM_INFO_SVM_ACCESSIBLE_BY_DEFAULT is true.
    18f47798
    History
    libgomp: Enable USM for AMD APUs and MI200 devices
    Tobias Burnus authored
    If HSA_AMD_SYSTEM_INFO_SVM_ACCESSIBLE_BY_DEFAULT is true,
    all GPUs on the system support unified shared memory. That's
    the case for APUs and MI200 devices when XNACK is enabled.
    
    XNACK can be enabled by setting HSA_XNACK=1 as env var for
    supported devices; otherwise, if disable, USM code will
    use host fallback.
    
    gcc/ChangeLog:
    
    	* config/gcn/gcn-hsa.h (gcn_local_sym_hash): Fix typo.
    
    include/ChangeLog:
    
    	* hsa.h (HSA_AMD_SYSTEM_INFO_SVM_ACCESSIBLE_BY_DEFAULT): Add
    	enum value.
    
    libgomp/ChangeLog:
    
    	* libgomp.texi (gcn): Update USM handling
    	* plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Handle
    	USM if HSA_AMD_SYSTEM_INFO_SVM_ACCESSIBLE_BY_DEFAULT is true.