Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue 644: Physics-Guided Binary Optimization #646

Open
wants to merge 42 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
102f839
sync issue-633
PeiMu Jan 30, 2023
7385c61
merge master
PeiMu Jan 30, 2023
9451fc5
rewrite test framework with tic-tok
PeiMu Jan 30, 2023
0195e14
clone a dummy function for functions that are generated before
PeiMu Feb 7, 2023
1d37394
remove the children functions if the parent function has been deleted
PeiMu Feb 7, 2023
649a2d8
remove from callerMap when the function is deleted; always keep the '…
PeiMu Feb 8, 2023
0284fa9
remove unused functions
PeiMu Feb 9, 2023
f0821bf
the range of GEP can be negative; the range of SHR cannot be negative
PeiMu Feb 9, 2023
9132381
the range of GEP can be negative; the range of SHR cannot be negative
PeiMu Feb 9, 2023
ef50ec5
use a flag to control
PeiMu Feb 9, 2023
6449464
fix bug of issue-639
PeiMu Feb 9, 2023
0864c59
reset bmx055yAcceleration
PeiMu Feb 10, 2023
6169327
fix the result error of sincosf, but the performance become worse. Ch…
PeiMu Feb 10, 2023
4bfa2d0
reconstruct auto_test, and collect timer info
PeiMu Feb 13, 2023
9af0329
get the function results
PeiMu Feb 13, 2023
bf69474
add timer collection and correctness check to the test framework
PeiMu Feb 14, 2023
c96fd9b
reformat code
PeiMu Feb 15, 2023
d2fa8be
sync issue-637
PeiMu Feb 15, 2023
e9c0fc3
ignore this case if it slow down
PeiMu Feb 15, 2023
7864342
fix commnets
PeiMu Feb 16, 2023
4936cbc
fix bugs with type conversion and range of sub
PeiMu Feb 16, 2023
81f9462
fix bug of range of sqrt
PeiMu Feb 16, 2023
14e672a
remove caller tree
PeiMu Feb 17, 2023
04e87cd
fix bug of result error in sincosf test case
PeiMu Feb 21, 2023
616a9d2
call global_DEC after overload function
PeiMu Feb 22, 2023
9ca25f4
reinterpret cast double to integer value when meeting shift operand; …
PeiMu Feb 22, 2023
3a22d91
fix the bug of shift operator
PeiMu Feb 23, 2023
5302471
add unit test of shift operand
PeiMu Feb 24, 2023
658fcc1
change one set of param
PeiMu Feb 25, 2023
646e829
fix bugs of cfg simp
PeiMu Feb 25, 2023
fbf4365
fix bug of shl
PeiMu Feb 25, 2023
bf8512d
shl should be positive
PeiMu Feb 28, 2023
77e9b64
update the ponter operand after function call
PeiMu Mar 2, 2023
7ae52ca
I think the first operand of shl should be unsigned
PeiMu Mar 2, 2023
543e0ee
Merge pull request #638 from phillipstanleymarbell/Issue-637---improv…
PeiMu Mar 5, 2023
997ff13
Merge branch 'issue-644' into issue-642
PeiMu Mar 5, 2023
37f066b
Merge pull request #643 from phillipstanleymarbell/issue-642
PeiMu Mar 5, 2023
50853c4
merge issue-628 manually
PeiMu Mar 5, 2023
26ebf8e
upload memory alignment manually
PeiMu Mar 5, 2023
f21c4e3
only shrink int type to promise correctness
PeiMu Mar 5, 2023
5bda7d6
if one value shrink from high signed type to low unsigned type, like …
PeiMu Mar 6, 2023
d446739
ignore sign operand
PeiMu Mar 7, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@

changeset: 1410:0284fa92e37e7d9a07644a670cac4d4360b3916a
char kNewtonVersion[] = "0.3-alpha-1410 (0284fa92e37e7d9a07644a670cac4d4360b3916a) (build 02-09-2023-18:[email protected]_64)";
\n./src/noisy/noisy-linux-EN -O0 applications/noisy/helloWorld.n -s
\n./src/newton/newton-linux-EN -v 0 -eP applications/newton/invariants/ViolinWithTemperatureDependence-pigroups.nt
46 changes: 46 additions & 0 deletions analysis/statistics/04e87cd90e209b0854a02ee5a0db6a52acf9598f.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@

changeset: 1426:04e87cd90e209b0854a02ee5a0db6a52acf9598f
char kNewtonVersion[] = "0.3-alpha-1426 (04e87cd90e209b0854a02ee5a0db6a52acf9598f) (build 02-22-2023-12:[email protected]_64)";
\n./src/noisy/noisy-linux-EN -O0 applications/noisy/helloWorld.n -s
\n./src/newton/newton-linux-EN -v 0 -eP applications/newton/invariants/ViolinWithTemperatureDependence-pigroups.nt

Informational Report:
---------------------
Invariant "ViolinWithTemperatureDependenceForPiGroups" has 2 unique kernels, each with 2 column(s)...

Kernel 0 is a valid kernel:

1 1
-0.5 -0
1 0
0.5 0
0 -1
-0 -1


The ordering of parameters is: P1 P0 P3 P2 P4 P5

Pi group 0, Pi 0 is: P0^(-0.5) P1^( 1) P2^(0.5) P3^( 1) P4^( 0) P5^(-0)

Pi group 0, Pi 1 is: P0^(-0) P1^( 1) P2^( 0) P3^( 0) P4^(-1) P5^(-1)


Kernel 1 is a valid kernel:

1 0
-0.5 1
1 -2
0.5 -1
-0 -2
0 -2


The ordering of parameters is: P1 P0 P3 P2 P4 P5

Pi group 1, Pi 0 is: P0^(-0.5) P1^( 1) P2^(0.5) P3^( 1) P4^(-0) P5^( 0)

Pi group 1, Pi 1 is: P0^( 1) P1^( 0) P2^(-1) P3^(-2) P4^(-2) P5^(-2)




46 changes: 46 additions & 0 deletions analysis/statistics/0864c591e4ba25fd99c205a737bc2c12434a419f.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@

changeset: 1415:0864c591e4ba25fd99c205a737bc2c12434a419f
char kNewtonVersion[] = "0.3-alpha-1415 (0864c591e4ba25fd99c205a737bc2c12434a419f) (build 02-10-2023-19:[email protected]_64)";
\n./src/noisy/noisy-linux-EN -O0 applications/noisy/helloWorld.n -s
\n./src/newton/newton-linux-EN -v 0 -eP applications/newton/invariants/ViolinWithTemperatureDependence-pigroups.nt

Informational Report:
---------------------
Invariant "ViolinWithTemperatureDependenceForPiGroups" has 2 unique kernels, each with 2 column(s)...

Kernel 0 is a valid kernel:

1 1
-0.5 -0
1 0
0.5 0
0 -1
-0 -1


The ordering of parameters is: P1 P0 P3 P2 P4 P5

Pi group 0, Pi 0 is: P0^(-0.5) P1^( 1) P2^(0.5) P3^( 1) P4^( 0) P5^(-0)

Pi group 0, Pi 1 is: P0^(-0) P1^( 1) P2^( 0) P3^( 0) P4^(-1) P5^(-1)


Kernel 1 is a valid kernel:

1 0
-0.5 1
1 -2
0.5 -1
-0 -2
0 -2


The ordering of parameters is: P1 P0 P3 P2 P4 P5

Pi group 1, Pi 0 is: P0^(-0.5) P1^( 1) P2^(0.5) P3^( 1) P4^(-0) P5^( 0)

Pi group 1, Pi 1 is: P0^( 1) P1^( 0) P2^(-1) P3^(-2) P4^(-2) P5^(-2)




46 changes: 46 additions & 0 deletions analysis/statistics/11353beaf1dc58dbe5570acd7363529cbfab81ef.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@

changeset: 1405:11353beaf1dc58dbe5570acd7363529cbfab81ef
char kNewtonVersion[] = "0.3-alpha-1405 (11353beaf1dc58dbe5570acd7363529cbfab81ef) (build 01-30-2023-21:[email protected]_64)";
\n./src/noisy/noisy-linux-EN -O0 applications/noisy/helloWorld.n -s
\n./src/newton/newton-linux-EN -v 0 -eP applications/newton/invariants/ViolinWithTemperatureDependence-pigroups.nt

Informational Report:
---------------------
Invariant "ViolinWithTemperatureDependenceForPiGroups" has 2 unique kernels, each with 2 column(s)...

Kernel 0 is a valid kernel:

1 1
-0.5 -0
1 0
0.5 0
0 -1
-0 -1


The ordering of parameters is: P1 P0 P3 P2 P4 P5

Pi group 0, Pi 0 is: P0^(-0.5) P1^( 1) P2^(0.5) P3^( 1) P4^( 0) P5^(-0)

Pi group 0, Pi 1 is: P0^(-0) P1^( 1) P2^( 0) P3^( 0) P4^(-1) P5^(-1)


Kernel 1 is a valid kernel:

1 0
-0.5 1
1 -2
0.5 -1
-0 -2
0 -2


The ordering of parameters is: P1 P0 P3 P2 P4 P5

Pi group 1, Pi 0 is: P0^(-0.5) P1^( 1) P2^(0.5) P3^( 1) P4^(-0) P5^( 0)

Pi group 1, Pi 1 is: P0^( 1) P1^( 0) P2^(-1) P3^(-2) P4^(-2) P5^(-2)




46 changes: 46 additions & 0 deletions analysis/statistics/14e672a0fc29372e363f57d30b3668484a10b184.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@

changeset: 1425:14e672a0fc29372e363f57d30b3668484a10b184
char kNewtonVersion[] = "0.3-alpha-1425 (14e672a0fc29372e363f57d30b3668484a10b184) (build 02-21-2023-19:[email protected]_64)";
\n./src/noisy/noisy-linux-EN -O0 applications/noisy/helloWorld.n -s
\n./src/newton/newton-linux-EN -v 0 -eP applications/newton/invariants/ViolinWithTemperatureDependence-pigroups.nt

Informational Report:
---------------------
Invariant "ViolinWithTemperatureDependenceForPiGroups" has 2 unique kernels, each with 2 column(s)...

Kernel 0 is a valid kernel:

1 1
-0.5 -0
1 0
0.5 0
0 -1
-0 -1


The ordering of parameters is: P1 P0 P3 P2 P4 P5

Pi group 0, Pi 0 is: P0^(-0.5) P1^( 1) P2^(0.5) P3^( 1) P4^( 0) P5^(-0)

Pi group 0, Pi 1 is: P0^(-0) P1^( 1) P2^( 0) P3^( 0) P4^(-1) P5^(-1)


Kernel 1 is a valid kernel:

1 0
-0.5 1
1 -2
0.5 -1
-0 -2
0 -2


The ordering of parameters is: P1 P0 P3 P2 P4 P5

Pi group 1, Pi 0 is: P0^(-0.5) P1^( 1) P2^(0.5) P3^( 1) P4^(-0) P5^( 0)

Pi group 1, Pi 1 is: P0^( 1) P1^( 0) P2^(-1) P3^(-2) P4^(-2) P5^(-2)




46 changes: 46 additions & 0 deletions analysis/statistics/1d373949434bd066601d1f1c5a86e58e3134616d.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@

changeset: 1408:1d373949434bd066601d1f1c5a86e58e3134616d
char kNewtonVersion[] = "0.3-alpha-1408 (1d373949434bd066601d1f1c5a86e58e3134616d) (build 02-08-2023-15:[email protected]_64)";
\n./src/noisy/noisy-linux-EN -O0 applications/noisy/helloWorld.n -s
\n./src/newton/newton-linux-EN -v 0 -eP applications/newton/invariants/ViolinWithTemperatureDependence-pigroups.nt

Informational Report:
---------------------
Invariant "ViolinWithTemperatureDependenceForPiGroups" has 2 unique kernels, each with 2 column(s)...

Kernel 0 is a valid kernel:

1 1
-0.5 -0
1 0
0.5 0
0 -1
-0 -1


The ordering of parameters is: P1 P0 P3 P2 P4 P5

Pi group 0, Pi 0 is: P0^(-0.5) P1^( 1) P2^(0.5) P3^( 1) P4^( 0) P5^(-0)

Pi group 0, Pi 1 is: P0^(-0) P1^( 1) P2^( 0) P3^( 0) P4^(-1) P5^(-1)


Kernel 1 is a valid kernel:

1 0
-0.5 1
1 -2
0.5 -1
-0 -2
0 -2


The ordering of parameters is: P1 P0 P3 P2 P4 P5

Pi group 1, Pi 0 is: P0^(-0.5) P1^( 1) P2^(0.5) P3^( 1) P4^(-0) P5^( 0)

Pi group 1, Pi 1 is: P0^( 1) P1^( 0) P2^(-1) P3^(-2) P4^(-2) P5^(-2)




46 changes: 46 additions & 0 deletions analysis/statistics/26ebf8e71ea98e3335ccfdf39489ff272f95f5d5.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@

changeset: 1442:26ebf8e71ea98e3335ccfdf39489ff272f95f5d5
char kNewtonVersion[] = "0.3-alpha-1442 (26ebf8e71ea98e3335ccfdf39489ff272f95f5d5) (build 03-05-2023-14:[email protected]_64)";
\n./src/noisy/noisy-linux-EN -O0 applications/noisy/helloWorld.n -s
\n./src/newton/newton-linux-EN -v 0 -eP applications/newton/invariants/ViolinWithTemperatureDependence-pigroups.nt

Informational Report:
---------------------
Invariant "ViolinWithTemperatureDependenceForPiGroups" has 2 unique kernels, each with 2 column(s)...

Kernel 0 is a valid kernel:

1 1
-0.5 -0
1 0
0.5 0
0 -1
-0 -1


The ordering of parameters is: P1 P0 P3 P2 P4 P5

Pi group 0, Pi 0 is: P0^(-0.5) P1^( 1) P2^(0.5) P3^( 1) P4^( 0) P5^(-0)

Pi group 0, Pi 1 is: P0^(-0) P1^( 1) P2^( 0) P3^( 0) P4^(-1) P5^(-1)


Kernel 1 is a valid kernel:

1 0
-0.5 1
1 -2
0.5 -1
-0 -2
0 -2


The ordering of parameters is: P1 P0 P3 P2 P4 P5

Pi group 1, Pi 0 is: P0^(-0.5) P1^( 1) P2^(0.5) P3^( 1) P4^(-0) P5^( 0)

Pi group 1, Pi 1 is: P0^( 1) P1^( 0) P2^(-1) P3^(-2) P4^(-2) P5^(-2)




46 changes: 46 additions & 0 deletions analysis/statistics/37f066bbf917f28ca09d3d6cbe00ac3452311685.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@

changeset: 1440:37f066bbf917f28ca09d3d6cbe00ac3452311685
char kNewtonVersion[] = "0.3-alpha-1440 (37f066bbf917f28ca09d3d6cbe00ac3452311685) (build 03-05-2023-13:[email protected]_64)";
\n./src/noisy/noisy-linux-EN -O0 applications/noisy/helloWorld.n -s
\n./src/newton/newton-linux-EN -v 0 -eP applications/newton/invariants/ViolinWithTemperatureDependence-pigroups.nt

Informational Report:
---------------------
Invariant "ViolinWithTemperatureDependenceForPiGroups" has 2 unique kernels, each with 2 column(s)...

Kernel 0 is a valid kernel:

1 1
-0.5 -0
1 0
0.5 0
0 -1
-0 -1


The ordering of parameters is: P1 P0 P3 P2 P4 P5

Pi group 0, Pi 0 is: P0^(-0.5) P1^( 1) P2^(0.5) P3^( 1) P4^( 0) P5^(-0)

Pi group 0, Pi 1 is: P0^(-0) P1^( 1) P2^( 0) P3^( 0) P4^(-1) P5^(-1)


Kernel 1 is a valid kernel:

1 0
-0.5 1
1 -2
0.5 -1
-0 -2
0 -2


The ordering of parameters is: P1 P0 P3 P2 P4 P5

Pi group 1, Pi 0 is: P0^(-0.5) P1^( 1) P2^(0.5) P3^( 1) P4^(-0) P5^( 0)

Pi group 1, Pi 1 is: P0^( 1) P1^( 0) P2^(-1) P3^(-2) P4^(-2) P5^(-2)




46 changes: 46 additions & 0 deletions analysis/statistics/3a22d91b7a572b5cf058e86905d84858238f6162.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@

changeset: 1429:3a22d91b7a572b5cf058e86905d84858238f6162
char kNewtonVersion[] = "0.3-alpha-1429 (3a22d91b7a572b5cf058e86905d84858238f6162) (build 02-24-2023-15:[email protected]_64)";
\n./src/noisy/noisy-linux-EN -O0 applications/noisy/helloWorld.n -s
\n./src/newton/newton-linux-EN -v 0 -eP applications/newton/invariants/ViolinWithTemperatureDependence-pigroups.nt

Informational Report:
---------------------
Invariant "ViolinWithTemperatureDependenceForPiGroups" has 2 unique kernels, each with 2 column(s)...

Kernel 0 is a valid kernel:

1 1
-0.5 -0
1 0
0.5 0
0 -1
-0 -1


The ordering of parameters is: P1 P0 P3 P2 P4 P5

Pi group 0, Pi 0 is: P0^(-0.5) P1^( 1) P2^(0.5) P3^( 1) P4^( 0) P5^(-0)

Pi group 0, Pi 1 is: P0^(-0) P1^( 1) P2^( 0) P3^( 0) P4^(-1) P5^(-1)


Kernel 1 is a valid kernel:

1 0
-0.5 1
1 -2
0.5 -1
-0 -2
0 -2


The ordering of parameters is: P1 P0 P3 P2 P4 P5

Pi group 1, Pi 0 is: P0^(-0.5) P1^( 1) P2^(0.5) P3^( 1) P4^(-0) P5^( 0)

Pi group 1, Pi 1 is: P0^( 1) P1^( 0) P2^(-1) P3^(-2) P4^(-2) P5^(-2)




Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@

changeset: 1400:44bd2fc9a6fc76c7cfabb6147d92d698c839dfd0
char kNewtonVersion[] = "0.3-alpha-1400 (44bd2fc9a6fc76c7cfabb6147d92d698c839dfd0) (build 01-30-2023-20:[email protected]_64)";
\n./src/noisy/noisy-linux-EN -O0 applications/noisy/helloWorld.n -s
\n./src/newton/newton-linux-EN -v 0 -eP applications/newton/invariants/ViolinWithTemperatureDependence-pigroups.nt
Expand Down
Loading