|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- #include <stdio.h>
-
- #include "cpu.h"
-
- #if defined __ANDROID__ || defined __linux__ || defined __APPLE__
-
- static int test_cpu_set()
- {
- ncnn::CpuSet set;
-
- if (set.num_enabled() != 0)
- {
- fprintf(stderr, "By default all cpus should be disabled\n");
- return 1;
- }
-
- set.enable(0);
- if (!set.is_enabled(0))
- {
- fprintf(stderr, "CpuSet enable doesn't work\n");
- return 1;
- }
-
- if (set.num_enabled() != 1)
- {
- fprintf(stderr, "Only one cpu should be enabled\n");
- return 1;
- }
-
- set.disable(0);
- if (set.is_enabled(0))
- {
- fprintf(stderr, "CpuSet disable doesn't work\n");
- return 1;
- }
-
- return 0;
- }
-
- #else
-
- static int test_cpu_set()
- {
- return 0;
- }
-
- #endif
-
- #if defined __ANDROID__ || defined __linux__
-
- static int test_cpu_info()
- {
- if (ncnn::get_cpu_count() >= 0 && ncnn::get_little_cpu_count() >= 0 && ncnn::get_big_cpu_count() >= 0)
- {
- return 0;
- }
- else
- {
- fprintf(stderr, "The system cannot have a negative number of processors\n");
- return 1;
- }
- }
-
- static int test_cpu_omp()
- {
- if (ncnn::get_omp_num_threads() >= 0 && ncnn::get_omp_thread_num() >= 0 && ncnn::get_omp_dynamic() >= 0)
- {
- return 0;
- }
- else
- {
- fprintf(stderr, "The OMP cannot have a negative number of processors\n");
- return 1;
- }
-
- ncnn::set_omp_num_threads(1);
-
- ncnn::set_omp_dynamic(1);
- }
-
- static int test_cpu_powersave()
- {
- if (ncnn::get_cpu_powersave() >= 0)
- {
- return 0;
- }
- else
- {
- fprintf(stderr, "By default powersave must be zero\n");
- return 1;
- }
-
- if (ncnn::set_cpu_powersave(-1) == -1 && ncnn::set_cpu_powersave(3) == -1)
- {
- return 0;
- }
- else
- {
- fprintf(stderr, "Set cpu powersave for `-1 < argument < 2` works incorrectly.\n");
- return 1;
- }
- }
-
- #else
-
- static int test_cpu_info()
- {
- return 0;
- }
-
- static int test_cpu_omp()
- {
- return 0;
- }
-
- static int test_cpu_powersave()
- {
- return 0;
- }
-
- #endif
-
- int main()
- {
- return 0
- || test_cpu_set()
- || test_cpu_info()
- || test_cpu_omp()
- || test_cpu_powersave();
- }
|