OpenMP thread pinning


I am running a hybrid MPI/OpenMP code which is:

  call MPI_Init( ierr )
  call MPI_Comm_rank( MPI_COMM_WORLD, rank, ierr )
  call MPI_Comm_size( MPI_COMM_WORLD, size, ierr )

  t1 = MPI_Wtime( )

!$omp parallel do private(i, x) reduction(+ : pi_partial)
  do i = rank, N-1, size
    x = (dble( i ) + 0.5_DP) * dx
    pi_partial = pi_partial + f( x )
  end do

kmp_reduce non atomic


I have studied the openmp reduction function kmp_reduce and the conclusion is : 

if (lck!=NULL) ==> we can do CRITICAL version
if (reduce_data!=NULL && reduce_func!=NULL) ==> we can do TREE version
if ((loc->flags & KMP_IDENT_ATOMIC_REDUCE) == KMP_IDENT_ATOMIC_REDUCE) ==> we can do ATOMIC version

So i have created 3 flags which tests the conditions above (CRITICAL, TREE, ATOMIC)

I have done some tests of openmp reductions to look at the results of these flags, but it seems to be always at 1.

Attend IDF'15: HPC Developer Showcase

Intel has just launched the Intel® Modern Code Developer Community to help HPC developers code for maximum performance on current and future hardware. The initiative is targeted to more than 400,000 HPC-focused developers and partners. 

  • Desarrolladores
  • Profesores
  • Linux*
  • Servidor
  • C/C++
  • Fortran
  • Intermedio
  • Mensaje pasa a interfaz
  • OpenMP*
  • Modernización de código
  • Arquitectura Intel® para muchos núcleos integrados
  • compiling error while installing NWchem


    I am working HPC and trying to install NWchem but finding some error while compiling...

    the following are the commands I have done in the node:

    Step 1:

    source /opt/intel/impi/ intel64
    source /opt/intel/composer_xe_2013_sp1/bin/ intel64

    Step 2:

    vi ~/.bashrc
    source ~/.bashrc
    which icc
    which mpiicc

    Step 3:

    Suscribirse a OpenMP*