xref: /aosp_15_r20/system/extras/cpu_loads/simd.cpp (revision 288bf5226967eb3dac5cce6c939ccc2a7f2b4fe5)
1*288bf522SAndroid Build Coastguard Worker #include <arpa/inet.h>
2*288bf522SAndroid Build Coastguard Worker #include <cutils/sockets.h>
3*288bf522SAndroid Build Coastguard Worker #include <fcntl.h>
4*288bf522SAndroid Build Coastguard Worker #include <hardware/gralloc.h>
5*288bf522SAndroid Build Coastguard Worker #include <sys/stat.h>
6*288bf522SAndroid Build Coastguard Worker #include <sys/wait.h>
7*288bf522SAndroid Build Coastguard Worker #include <unistd.h>
8*288bf522SAndroid Build Coastguard Worker #include <algorithm>
9*288bf522SAndroid Build Coastguard Worker #include <chrono>
10*288bf522SAndroid Build Coastguard Worker #include <fstream>
11*288bf522SAndroid Build Coastguard Worker #include <iostream>
12*288bf522SAndroid Build Coastguard Worker #include <numeric>
13*288bf522SAndroid Build Coastguard Worker #include <string>
14*288bf522SAndroid Build Coastguard Worker #include <tuple>
15*288bf522SAndroid Build Coastguard Worker #include <vector>
16*288bf522SAndroid Build Coastguard Worker 
17*288bf522SAndroid Build Coastguard Worker #define EIGEN_RUNTIME_NO_MALLOC
18*288bf522SAndroid Build Coastguard Worker 
19*288bf522SAndroid Build Coastguard Worker #include <Eigen/Dense>
20*288bf522SAndroid Build Coastguard Worker 
21*288bf522SAndroid Build Coastguard Worker using namespace std;
22*288bf522SAndroid Build Coastguard Worker 
main(int,char **)23*288bf522SAndroid Build Coastguard Worker int main(int, char**) {
24*288bf522SAndroid Build Coastguard Worker     Eigen::MatrixXd a(8192, 8192);
25*288bf522SAndroid Build Coastguard Worker     Eigen::MatrixXd b(8192, 8192);
26*288bf522SAndroid Build Coastguard Worker     Eigen::MatrixXd c(8192, 8192);
27*288bf522SAndroid Build Coastguard Worker 
28*288bf522SAndroid Build Coastguard Worker     for (int i = 0; i < 8192; i++) {
29*288bf522SAndroid Build Coastguard Worker         for (int j = 0; j < 8192; j++) {
30*288bf522SAndroid Build Coastguard Worker             a(i, j) = 1 + i * j;
31*288bf522SAndroid Build Coastguard Worker             b(i, j) = 2 + i * j;
32*288bf522SAndroid Build Coastguard Worker             c(i, j) = 3 + i * j;
33*288bf522SAndroid Build Coastguard Worker         }
34*288bf522SAndroid Build Coastguard Worker     }
35*288bf522SAndroid Build Coastguard Worker 
36*288bf522SAndroid Build Coastguard Worker     cout << "starting" << endl;
37*288bf522SAndroid Build Coastguard Worker     while (true) {
38*288bf522SAndroid Build Coastguard Worker         a.noalias() += (b * c);
39*288bf522SAndroid Build Coastguard Worker         b(1, 5) += 5.0;
40*288bf522SAndroid Build Coastguard Worker         c(5, 1) -= 5.0;
41*288bf522SAndroid Build Coastguard Worker     }
42*288bf522SAndroid Build Coastguard Worker 
43*288bf522SAndroid Build Coastguard Worker     return 0;
44*288bf522SAndroid Build Coastguard Worker }
45