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

Problem attempting I/O in offloaded code

Dean_B_
ビギナー
538件の閲覧回数

I get the error

On the remote process, dlopen() failed. The error message sent back from the sin
k is /tmp/coi_procs/1/3686/load_lib/testprintMIC.out: undefined symbol: myprint_

On the sink, dlopen() returned NULL. The result of dlerror() is "/tmp/coi_procs/
1/3686/load_lib/testprintMIC.out: undefined symbol: myprint_"
offload error: cannot load library to the device 0 (error code 20)
Press any key to continue . . .

When running this program:

    subroutine myprint()  
    print *, "hello from mic"
    end subroutine myprint   
   
    program main
    !DIR$ ATTRIBUTES OFFLOAD:mic :: myprint
    !DIR$ OFFLOAD target(mic)
    call myprint()
    end program main

Thanks in advance for any help,

Dean

0 件の賞賛
1 返信
Frances_R_Intel
従業員
538件の閲覧回数

In addition to the attribute statement inside main, put one in front of the subroutine myprint. You must tell the compiler both that main is going to call the subroutine myprint on the coprocessor and  that it needs to make a version of the subroutine myprint to run on the coprocessor.

返信