Early subsumption complete
Signed-off-by: gothictomato <gothictomato@pm.me>
This commit is contained in:
@@ -24,7 +24,7 @@ i32 runTests() {
|
||||
|
||||
|
||||
i32 runuf20() {
|
||||
printf("Running against uf20\n");
|
||||
// printf("Running against uf20\n");
|
||||
u32 passed = 0;
|
||||
u64 tottime = 0;
|
||||
for (u32 i = 0; i < 1000; ++i) {
|
||||
@@ -33,62 +33,7 @@ i32 runuf20() {
|
||||
|
||||
cnf* c = readDIMACS(buf);
|
||||
|
||||
// TODO: Uncomment
|
||||
// sortlastnum(c, c->litcnt);
|
||||
|
||||
u64 start = utime();
|
||||
i32 res = gpusolve(c);
|
||||
u64 stop = utime();
|
||||
tottime += (stop - start);
|
||||
|
||||
freecnf(c);
|
||||
if (res == 0) passed++;
|
||||
}
|
||||
printf("Passed %u / 1000 tests\n", passed);
|
||||
printf("Took %lf s total, %lf s on avg\n", ((f64) tottime) / 1000000.0, ((f64) tottime) / 1000000000.0);
|
||||
if (passed == 1000) return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
i32 runuf50() {
|
||||
printf("Running against uf50\n");
|
||||
u32 passed = 0;
|
||||
u64 tottime = 0;
|
||||
for (u32 i = 0; i < 1000; ++i) {
|
||||
char buf[128];
|
||||
i32 len = sprintf(buf, "/home/lev/Downloads/uf50/uf50-0%u.cnf", i + 1);
|
||||
|
||||
cnf* c = readDIMACS(buf);
|
||||
|
||||
// TODO: Uncomment
|
||||
// sortlastnum(c, c->litcnt);
|
||||
|
||||
u64 start = utime();
|
||||
i32 res = gpusolve(c);
|
||||
u64 stop = utime();
|
||||
tottime += (stop - start);
|
||||
|
||||
freecnf(c);
|
||||
if (res == 0) passed++;
|
||||
}
|
||||
printf("Passed %u / 1000 tests\n", passed);
|
||||
printf("Took %lf s total, %lf s on avg\n", ((f64) tottime) / 1000000.0, ((f64) tottime) / 1000000000.0);
|
||||
if (passed == 1000) return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
i32 runuuf50() {
|
||||
printf("Running against uuf50\n");
|
||||
u32 passed = 0;
|
||||
u64 tottime = 0;
|
||||
for (u32 i = 0; i < 1000; ++i) {
|
||||
char buf[128];
|
||||
i32 len = sprintf(buf, "/home/lev/Downloads/uuf50/uuf50-0%u.cnf", i + 1);
|
||||
|
||||
cnf* c = readDIMACS(buf);
|
||||
|
||||
// TODO: Uncomment
|
||||
// sortlastnum(c, c->litcnt);
|
||||
sortlastnum(c);
|
||||
|
||||
u64 start = utime();
|
||||
i32 res = gpusolve(c);
|
||||
@@ -98,8 +43,60 @@ i32 runuuf50() {
|
||||
freecnf(c);
|
||||
if (res == 1) passed++;
|
||||
}
|
||||
printf("Passed %u / 1000 tests\n", passed);
|
||||
printf("Took %lf s total, %lf s on avg\n", ((f64) tottime) / 1000000.0, ((f64) tottime) / 1000000000.0);
|
||||
// printf("Passed %u / 1000 tests\n", passed);
|
||||
// printf("Took %lf s total, %lf s on avg\n", ((f64) tottime) / 1000000.0, ((f64) tottime) / 1000000000.0);
|
||||
if (passed == 1000) return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
i32 runuf50() {
|
||||
// printf("Running against uf50\n");
|
||||
u32 passed = 0;
|
||||
u64 tottime = 0;
|
||||
for (u32 i = 0; i < 1000; ++i) {
|
||||
char buf[128];
|
||||
i32 len = sprintf(buf, "/home/lev/Downloads/uf50/uf50-0%u.cnf", i + 1);
|
||||
|
||||
cnf* c = readDIMACS(buf);
|
||||
|
||||
sortlastnum(c);
|
||||
|
||||
u64 start = utime();
|
||||
i32 res = gpusolve(c);
|
||||
u64 stop = utime();
|
||||
tottime += (stop - start);
|
||||
|
||||
freecnf(c);
|
||||
if (res == 1) passed++;
|
||||
}
|
||||
// printf("Passed %u / 1000 tests\n", passed);
|
||||
// printf("Took %lf s total, %lf s on avg\n", ((f64) tottime) / 1000000.0, ((f64) tottime) / 1000000000.0);
|
||||
if (passed == 1000) return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
i32 runuuf50() {
|
||||
// printf("Running against uuf50\n");
|
||||
u32 passed = 0;
|
||||
u64 tottime = 0;
|
||||
for (u32 i = 0; i < 1000; ++i) {
|
||||
char buf[128];
|
||||
i32 len = sprintf(buf, "/home/lev/Downloads/uuf50/uuf50-0%u.cnf", i + 1);
|
||||
|
||||
cnf* c = readDIMACS(buf);
|
||||
|
||||
sortlastnum(c);
|
||||
|
||||
u64 start = utime();
|
||||
i32 res = gpusolve(c);
|
||||
u64 stop = utime();
|
||||
tottime += (stop - start);
|
||||
|
||||
freecnf(c);
|
||||
if (res == 0) passed++;
|
||||
}
|
||||
// printf("Passed %u / 1000 tests\n", passed);
|
||||
// printf("Took %lf s total, %lf s on avg\n", ((f64) tottime) / 1000000.0, ((f64) tottime) / 1000000000.0);
|
||||
if (passed == 1000) return 0;
|
||||
return 1;
|
||||
}
|
||||
Reference in New Issue
Block a user