jesús cámara morenoluna.inf.um.es/.../pfcs_y_tms/2016presentacionpfc_jesuscamara.… · machine...

28
Jesús Cámara Moreno Murcia, 14 de Septiembre de 2016

Upload: others

Post on 07-Feb-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

  • Jesús Cámara Moreno

    Murcia, 14 de Septiembre de 2016

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • – -openmp-simd

    – #pragma ivdep #pragma vector aligned #pragma vector always #pragma simd

    – _mm_alloc() _assume_aligned()

    – -opt-dynamic-align -opt-prefetch

    – #pragma prefetch

    • -ip -xhost -parallel -openmp-opt-threads-per-core

    10

  • 11

  • 12

    void doMatMul(...,n,tb)

    {

    for(...) {

    for(...) {

    for(...) {

    }

    }

    }

    }

    void doMatMulBloq(...,n,tb,nThr)

    {

    omp_set_num_threads(nThr);

    #pragma omp parallel for

    for(...) {

    for(...) {

    for(...) {

    doMatMul(...);

    }

    }

    }

    }

  • 13

  • 14

  • 15

  • 16

  • 17

  • 18

  • 19

  • #pragma omp parallel

    {

    #pragma omp sections

    {

    #pragma section

    {

    #pragma offload target(mic:micId) in(A ) in(B ) inout(C )

    {

    doMatMul( );

    }

    }

    #pragma section

    {

    doMatMulBloq( );

    }

    }

    } 20

  • 21

  • 22

  • 23

  • 24

  • 25

  • 26

  • 27

  • 28