Fix expectation and types in acc_get_property tests
* Weaken expectation concerning acc_property_free_memory. Do not expect the value returned by CUDA since that value might have changed in the meantime. * Use correct type for the results of calls to acc_get_property in tests. libgomp/ * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c (expect_device_properties): Remove "expected_free_mem" argument, change "expected_total_mem" argument type to size_t; change types of acc_get_property results to size_t, adapt format strings. * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: Use %zu instead of %zd to print size_t values. * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and rename to ... * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this. * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and rename to ... * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this. Reviewed-by: Thomas Schwinge <thomas@codesourcery.com>
This commit is contained in:
parent
9adea9392b
commit
4bd03ed69b
@ -8,9 +8,8 @@
|
||||
|
||||
void expect_device_properties
|
||||
(acc_device_t dev_type, int dev_num,
|
||||
int expected_total_mem, int expected_free_mem,
|
||||
const char* expected_vendor, const char* expected_name,
|
||||
const char* expected_driver)
|
||||
size_t expected_memory, const char* expected_vendor,
|
||||
const char* expected_name, const char* expected_driver)
|
||||
{
|
||||
const char *vendor = acc_get_property_string (dev_num, dev_type,
|
||||
acc_property_vendor);
|
||||
@ -21,22 +20,23 @@ void expect_device_properties
|
||||
abort ();
|
||||
}
|
||||
|
||||
int total_mem = acc_get_property (dev_num, dev_type,
|
||||
acc_property_memory);
|
||||
if (total_mem != expected_total_mem)
|
||||
size_t total_mem = acc_get_property (dev_num, dev_type,
|
||||
acc_property_memory);
|
||||
if (total_mem != expected_memory)
|
||||
{
|
||||
fprintf (stderr, "Expected acc_property_memory to equal %d, "
|
||||
"but was %d.\n", expected_total_mem, total_mem);
|
||||
fprintf (stderr, "Expected acc_property_memory to equal %zu, "
|
||||
"but was %zu.\n", expected_memory, total_mem);
|
||||
abort ();
|
||||
|
||||
}
|
||||
|
||||
int free_mem = acc_get_property (dev_num, dev_type,
|
||||
size_t free_mem = acc_get_property (dev_num, dev_type,
|
||||
acc_property_free_memory);
|
||||
if (free_mem != expected_free_mem)
|
||||
if (free_mem > total_mem)
|
||||
{
|
||||
fprintf (stderr, "Expected acc_property_free_memory to equal %d, "
|
||||
"but was %d.\n", expected_free_mem, free_mem);
|
||||
fprintf (stderr, "Expected acc_property_free_memory <= acc_property_memory"
|
||||
", but free memory was %zu and total memory was %zu.\n",
|
||||
free_mem, total_mem);
|
||||
abort ();
|
||||
}
|
||||
|
||||
@ -59,11 +59,11 @@ void expect_device_properties
|
||||
}
|
||||
|
||||
int unknown_property = 16058;
|
||||
int v = acc_get_property (dev_num, dev_type, (acc_device_property_t)unknown_property);
|
||||
size_t v = acc_get_property (dev_num, dev_type, (acc_device_property_t)unknown_property);
|
||||
if (v != 0)
|
||||
{
|
||||
fprintf (stderr, "Expected value of unknown numeric property to equal 0, "
|
||||
"but was %d.\n", v);
|
||||
"but was %zu.\n", v);
|
||||
abort ();
|
||||
}
|
||||
|
||||
@ -72,7 +72,7 @@ void expect_device_properties
|
||||
if (s != NULL)
|
||||
{
|
||||
fprintf (stderr, "Expected value of unknown string property to be NULL, "
|
||||
"but was %d.\n", s);
|
||||
"but was %s.\n", s);
|
||||
abort ();
|
||||
}
|
||||
|
||||
|
@ -8,12 +8,11 @@
|
||||
|
||||
void expect_device_properties
|
||||
(acc_device_t dev_type, int dev_num,
|
||||
int expected_total_mem, int expected_free_mem,
|
||||
const char* expected_vendor, const char* expected_name,
|
||||
const char* expected_driver);
|
||||
size_t expected_memory, const char* expected_vendor,
|
||||
const char* expected_name, const char* expected_driver);
|
||||
|
||||
int main()
|
||||
{
|
||||
printf ("Checking acc_device_host device properties\n");
|
||||
expect_device_properties (acc_device_host, 0, 0, 0, "GNU", "GOMP", "1.0");
|
||||
expect_device_properties (acc_device_host, 0, 0, "GNU", "GOMP", "1.0");
|
||||
}
|
@ -13,9 +13,8 @@
|
||||
|
||||
void expect_device_properties
|
||||
(acc_device_t dev_type, int dev_num,
|
||||
int expected_total_mem, int expected_free_mem,
|
||||
const char* expected_vendor, const char* expected_name,
|
||||
const char* expected_driver);
|
||||
size_t expected_memory, const char* expected_vendor,
|
||||
const char* expected_name, const char* expected_driver);
|
||||
|
||||
int main ()
|
||||
{
|
||||
@ -62,7 +61,9 @@ int main ()
|
||||
snprintf (driver, sizeof driver, "CUDA Driver %u.%u",
|
||||
driver_version / 1000, driver_version % 1000 / 10);
|
||||
|
||||
/* Note that this check relies on the fact that the device numbering
|
||||
used by the nvptx plugin agrees with the CUDA device ordering. */
|
||||
expect_device_properties(acc_device_nvidia, dev_num,
|
||||
total_mem, free_mem, vendor, p.name, driver);
|
||||
total_mem, vendor, p.name, driver);
|
||||
}
|
||||
}
|
@ -35,10 +35,10 @@ print_device_properties(acc_device_t type)
|
||||
}
|
||||
|
||||
v = acc_get_property (i, type, acc_property_memory);
|
||||
printf (" Total memory: %zd\n", v);
|
||||
printf (" Total memory: %zu\n", v);
|
||||
|
||||
v = acc_get_property (i, type, acc_property_free_memory);
|
||||
printf (" Free memory: %zd\n", v);
|
||||
printf (" Free memory: %zu\n", v);
|
||||
|
||||
s = acc_get_property_string (i, type, acc_property_name);
|
||||
printf (" Name: %s\n", s);
|
||||
|
Loading…
Reference in New Issue
Block a user