Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.

Using OpenMP with Intel Fortran

zokagoa
Beginner
506 Views

Hi,
I'm trying to use a Intel FORTRAN (Windows) code section parallelisation though the use of OpenMP but I have an error message that I cannot fix. I think, I might have a problem of the project properties configuration.

The main problem comes from the Fortran Language Process OpenMP Directives configuration. I selected : Generate Parallel Code (/Qopenmp)

The message error is expressed as :

Debug Assertion Failled

...

File:f:\\dd\\vctools\\crt_bld\\self_x86\\crt\\scr\\winsig.c

Line 419

Expression:("Invalid signal or erroe", 0)

Here is a little code I am using to check the gain in time:

====================================================

[bash]program   doparallelsection
 
 use omp_lib  
implicit none

INTEGER N, I, J, K,NK, parallel
PARAMETER (N=1000)

REAL*8 A(N,N),B(N,N),C(N,N), ti, tf

parallel = 1
NK = 100
call cpu_time(ti)


if (parallel==1) then
!$OMP PARALLEL SECTIONS
    !$OMP SECTION
        do k=1,NK
            do i= 1, N
                do j=1,N    
                    A(i,j) = i+j
                enddo 
            enddo
        enddo
          
    !$OMP SECTION
        do k=1,NK
            do i= 1, N
                do j=1,N    
                    B(i,j) = i-j
                enddo 
            enddo
        enddo  

    !$OMP END PARALLEL SECTIONS
else

     do k=1,NK
        do i= 1, N
            do j=1,N    
                A(i,j) = i+j
            enddo 
        enddo
    enddo
      
    do k=1,NK
        do i= 1, N
            do j=1,N    
                B(i,j) = i-j
            enddo 
        enddo
    enddo 
    
 endif 
  
call cpu_time(tf)

if (parallel ==1) then
    open(unit=10,file='cpu_paralleldo.dat',status="unknown")
else
    open(unit=10,file='cpu_do.dat',status="unknown")
endif

write(10,*) "cpu time ="
write(10,*) tf-ti
close(10)

end
================================================

Thanks for the help.

Jean-Marie[/bash]


0 Kudos
1 Reply
jimdempseyatthecove
Honored Contributor III
506 Views
With program not running and Debug configuration selected and built click on

Debug | Windows | Breakpoints

The in the break point window, click on the button to delete all break points.
(do not leave any break points in the window)

Then reset any break point you may wish to have. Then try running again.

Jim Dempsey

0 Kudos
Reply