Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions xt-declare-target-ctors/expected
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,16 @@ CtorD: 123 Device
CtorD: 123 Device
CtorD: 123 Device
Main: 123 Device
DtorE: 1860867 Device
DtorD: 1860867 Device
DtorD: 1860867 Device
DtorD: 1860867 Device
DtorC: 123 Device
DtorA: 5159780352 Device
DtorW: 56 Host
DtorE: 1860867 Host
DtorD: 1860867 Host
DtorD: 1860867 Host
DtorD: 1860867 Host
DtorC: 123 Host
DtorA: 5159780352 Host
DtorA: 5159780352 Device
DtorC: 123 Device
DtorD: 1860867 Device
DtorD: 1860867 Device
DtorD: 1860867 Device
DtorE: 1860867 Device
15 changes: 8 additions & 7 deletions xt-declare-target-ctors/test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,15 @@ struct NoOffloadCtorDtor {

if (!offloading_disabled() || !RunDtor)
return;
printf("DtorA: 5159780352 Device\n");
printf("DtorC: 123 Device\n");
printf("DtorE: 1860867 Device\n");
printf("DtorD: 1860867 Device\n");
printf("DtorD: 1860867 Device\n");
printf("DtorD: 1860867 Device\n");
printf("DtorE: 1860867 Device\n");
printf("DtorC: 123 Device\n");
printf("DtorA: 5159780352 Device\n");
}
};

NoOffloadCtorDtor NC0(true);

#pragma omp declare target

struct SSW {
Expand Down Expand Up @@ -107,17 +105,20 @@ SSE se;

SSW sw(56);

NoOffloadCtorDtor NC1(false);

int main(void) {

bool OffloadDisabled = offloading_disabled();

NoOffloadCtorDtor NC0(false);

#pragma omp target device(0)
#pragma omp teams num_teams(1) thread_limit(1)
#pragma omp parallel if(0)
{
printf("Main: %d %s\n",123, (omp_is_initial_device() && !OffloadDisabled) ? "Host" : "Device");
}

NoOffloadCtorDtor NC1(true);

return 0;
}