123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #pragma omp declare target
- int
- f30 (void)
- {
- return 30;
- }
- int
- f35 (void)
- {
- return 35;
- }
- int
- f53 (void)
- {
- return 53;
- }
- int
- f70 (void)
- {
- return 70;
- }
- int
- f75 (void)
- {
- return 75;
- }
- int
- f80 (void)
- {
- return 80;
- }
- #pragma omp declare variant (f30) match (device={isa("sm_30")})
- #pragma omp declare variant (f35) match (device={isa("sm_35")})
- #pragma omp declare variant (f53) match (device={isa("sm_53")})
- #pragma omp declare variant (f70) match (device={isa("sm_70")})
- #pragma omp declare variant (f75) match (device={isa("sm_75")})
- #pragma omp declare variant (f80) match (device={isa("sm_80")})
- int
- f (void)
- {
- return 0;
- }
- #pragma omp end declare target
- int
- main (void)
- {
- int v = 0;
- #pragma omp target map(from:v)
- v = f ();
- if (v == 0)
- __builtin_abort ();
- __builtin_printf ("Nvptx accelerator: sm_%d\n", v);
- return 0;
- }
|