set_accdrv_active_device_id Subroutine

public subroutine set_accdrv_active_device_id(in_accdrv_active_device_id)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: in_accdrv_active_device_id

Source Code

   SUBROUTINE set_accdrv_active_device_id(in_accdrv_active_device_id)
      INTEGER, INTENT(IN) :: in_accdrv_active_device_id

      ! Abort if device already assigned
      IF (dbcsr_acc_get_ndevices() .GT. 0) THEN
         IF (accdrv_active_device_id .GE. 0) &
            DBCSR_ABORT("Accelerator device ID already set")
         IF (in_accdrv_active_device_id .LT. 0 .OR. in_accdrv_active_device_id .GE. dbcsr_acc_get_ndevices()) &
            DBCSR_ABORT("Invalid accelerator device ID")
         accdrv_active_device_id = in_accdrv_active_device_id
      END IF

   END SUBROUTINE set_accdrv_active_device_id