Software Archive
Read-only legacy content
17061 ディスカッション

I'm back DPD200361383

jimdempseyatthecove
名誉コントリビューター III
347件の閲覧回数

I am building a Fortran .DLL that contains offloads to MIC.

In the project there is a module containing interfaces to non-exported subroutines and functions. mod_interfaces.f90 defining module mod_interfaces, with interfaces only.

One of the examples are

    subroutine games_check(crames)
    !DIR$ ATTRIBUTES OFFLOAD : mic :: games_check
        use dyn_array_crames
        implicit none
        type(CRAMES_t) :: crames
    end subroutine games_check

That is in the interface file. The source file containing the subroutine has:

!DIR$ ATTRIBUTES OFFLOAD : mic :: games_check
subroutine games_check(crames)
    use mod_interfaces

    use dyn_array_crames
    implicit none
    type(CRAMES_t) :: crames
    
    !DIR$ ATTRIBUTES OFFLOAD : mic :: crames_rect
    !DIR$ ATTRIBUTES OFFLOAD : mic :: crames_circ

    IF ((crames%test_vertical    == .TRUE.) .OR. &
        (crames%test_horizontalx == .TRUE.) .OR. &
        (crames%test_horizontaly == .TRUE.)) THEN
... more code ...

The location of the error:

!DIR$ ATTRIBUTES OFFLOAD : mic :: games_check
   call games_check(crames)

The above occurs in a subroutine that has the use_interfaces.

And the error message:

Compiling with Intel(R) Visual Fortran Compiler XE 15.0.4.221 [Intel(R) 64]...
CRAMES_WinMain_2015_Apr_scaled_singleprocs.f90
C:\QuickThread Programming LLC\SANRAL\SanralME2_CRAMESparallel\meCRAMESparallelDLL\CRAMES_WinMain_2015_Apr_scaled_singleprocs.f90(276): error #6401: The attributes of this name conflict with those made accessible by a USE statement.   [GAMES_CHECK]

There are 9 other similar errors.

The builds of the library was succeeding up until  added a few other interfaces to the mod_interface.f90 file.

This seems like the same error supposedly fixed Aug 8, 2014 with DPD200361383

Any hints on how to resolve?

While awaiting a formal fix, I will try moving the interfaces from the module to the local scope of the subroutine making the call

Jim

0 件の賞賛
1 返信
jimdempseyatthecove
名誉コントリビューター III
347件の閲覧回数

Moving the interfaces to the subroutines that use them corrected the problem.

Jim Dempsey

返信