Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

sync memory failing

Juan_Senent
Beginner
491 Views
Hi, I have been trying the coarray features of the new version of the compiler:
Intel Visual Fortran Package ID: w_fcompxe_2011.1.127
Intel Visual Fortran Composer XE 2011 Integration for Microsoft Visual Studio* 2008, 12.0.3470.2008)

I found that if I use the 'sync memory' statement, the program does not link.

The source code for this simple program is:

program hello_image
use :: iso_fortran_env
LOGICAL, VOLATILE :: LOCKED
  • = .TRUE.
    INTEGER(4) :: test, G, H
    G=1
    H=2
    test = THIS_IMAGE()
    IF (test == G) THEN
    SYNC MEMORY
    LOCKED = .FALSE.
    SYNC MEMORY
    ELSE IF (test == H) then
    DO WHILE (LOCKED)
    END DO
    SYNC MEMORY
    END IF
    end program hello_image

    the error I'm getting is:

    1>------ Build started: Project: coarray_samples, Configuration: Debug Win32 ------
    1>Linking...
    1>hello_image_good.obj : error LNK2019: unresolved external symbol _for_rtl_ICAF_MEMORY_BARRIER referenced in function _MAIN__
    1>Debug\\coarray_samples.exe : fatal error LNK1120: 1 unresolved externals

    Any help would be really appreciated

    Juan
  • 0 Kudos
    1 Reply
    Steven_L_Intel1
    Employee
    491 Views
    This is very odd. I am puzzled why we didn't see this before. The library routine to support SYNC MEMORY seems to be missing through Update 2. It is in Update 3 which should be out shortly. We apologize for the inconvenience.
    0 Kudos
    Reply