Hello Forum,
I was testing the performance of an algorithm regarding a sparse matrix factorization which I created in C++, and I was testing it on two different platforms in real-time.
The compiler used was GCC, and the tests were conducted in real-time using Xenomai 3.2 Real-Time module.
I found out that results from each platform was different to one another, and I am wondering why is that so.
The platforms which I used are as follows:
Beckhoff C6015 (Specs: x86 CPU @ 1.91 GHz, 4 cores)
Raspberry Pi CM4 (Specs: ARM CPU @ 1.5 GHz, 4 cores)
I was testing my algorithm with a contemporary algorithm used in many Maths libraries. The three test cases in the following tables denote three different sparse matrices of different sparsities. The timing results are as follows:
Results from Beckhoff C6015:
Test Case Proposed Algorithm Timing (us) Contemporary Algorithm Timing (us) Difference (us)
(a) (b) (b -a)
1 557.7 525.6 -32.1
2 673.9 643.2 -30.7
3 760.2 737.0 -23.2
Results from Raspberry Pi CM4:
Test Case Proposed Algorithm Timing (us) Contemporary Algorithm Timing (us) Difference (us)
(a) (b) (b -a)
1 872.4 942.9 70.5
2 1058.2 1128.2 70.0
3 1207.6 1281.7 74.7
All values are averaged from 30000 time samples with a time period of 10 ms. The exact same code was run in both platforms. As you can see, the results from the proposed algorithm are faster in Raspberry Pi CM4 as compared to Beckhoff C6015. This trend is true for most sparse matrices. Would you know the reason for that please? Is it because RPi is ARM based and C6015 is x86? Or is there any other reason?
I hope the above explanation is reasonable. Unfortunately, I cannot submit my code because of security reasons, but I would be grateful for any kind of your help.
Thank you very much.
I was testing the performance of an algorithm regarding a sparse matrix factorization which I created in C++, and I was testing it on two different platforms in real-time.
The compiler used was GCC, and the tests were conducted in real-time using Xenomai 3.2 Real-Time module.
I found out that results from each platform was different to one another, and I am wondering why is that so.
The platforms which I used are as follows:
Beckhoff C6015 (Specs: x86 CPU @ 1.91 GHz, 4 cores)
Raspberry Pi CM4 (Specs: ARM CPU @ 1.5 GHz, 4 cores)
I was testing my algorithm with a contemporary algorithm used in many Maths libraries. The three test cases in the following tables denote three different sparse matrices of different sparsities. The timing results are as follows:
Results from Beckhoff C6015:
Test Case Proposed Algorithm Timing (us) Contemporary Algorithm Timing (us) Difference (us)
(a) (b) (b -a)
1 557.7 525.6 -32.1
2 673.9 643.2 -30.7
3 760.2 737.0 -23.2
Results from Raspberry Pi CM4:
Test Case Proposed Algorithm Timing (us) Contemporary Algorithm Timing (us) Difference (us)
(a) (b) (b -a)
1 872.4 942.9 70.5
2 1058.2 1128.2 70.0
3 1207.6 1281.7 74.7
All values are averaged from 30000 time samples with a time period of 10 ms. The exact same code was run in both platforms. As you can see, the results from the proposed algorithm are faster in Raspberry Pi CM4 as compared to Beckhoff C6015. This trend is true for most sparse matrices. Would you know the reason for that please? Is it because RPi is ARM based and C6015 is x86? Or is there any other reason?
I hope the above explanation is reasonable. Unfortunately, I cannot submit my code because of security reasons, but I would be grateful for any kind of your help.
Thank you very much.
Statistics: Posted by zahakj — Tue Jan 30, 2024 7:11 am — Replies 0 — Views 74