58 Commits

Author SHA1 Message Date
901944bd8b WIP
Some checks failed
MetagraphOptimization_CI / test (push) Failing after 1m29s
MetagraphOptimization_CI / docs (push) Failing after 1m29s
2024-06-27 13:21:53 +02:00
d888713e97 Enable oneAPI and ROCm (#9)
All checks were successful
MetagraphOptimization_CI / docs (push) Successful in 8m30s
MetagraphOptimization_CI / test (push) Successful in 22m2s
Co-authored-by: Anton Reinhard <anton.reinhard@proton.me>
Reviewed-on: #9
2024-05-08 19:26:18 +02:00
38e7ff3b90 Seed Randomness, Fix tests (#8)
All checks were successful
MetagraphOptimization_CI / docs (push) Successful in 7m34s
MetagraphOptimization_CI / test (push) Successful in 20m49s
Seeded randomness in all places, however, multithreaded randomness still exists.

Disabled some tests that are failing, will add issues and fix later. These are related to (likely) precision problems in the ABC model, which is not priority, and the Node Fusion, which will be fundamentally reworked anyways.

Co-authored-by: Anton Reinhard <anton.reinhard@proton.me>
Reviewed-on: #8
2024-05-08 18:04:48 +02:00
7d7782f97f Add Workaround for Trie implementation for Julia version 1.10+ (#7)
Some checks failed
MetagraphOptimization_CI / docs (push) Successful in 8m32s
MetagraphOptimization_CI / test (push) Failing after 12m1s
Co-authored-by: Anton Reinhard <anton.reinhard@proton.me>
Reviewed-on: #7
2024-05-08 14:00:25 +02:00
87dbaf2c32 experiments (#1)
All checks were successful
MetagraphOptimization_CI / docs (push) Successful in 10m41s
MetagraphOptimization_CI / test (push) Successful in 30m40s
Co-authored-by: Anton Reinhard <anton.reinhard@proton.me>
Reviewed-on: #1
2024-05-08 12:03:27 +02:00
82ed774b7e Tape Machine (#30)
Adds a tape machine way of executing the code.
The tape machine is a series of FunctionCall objects, which can either be called one by one, or be used to generate expressions to make up a function.

Reviewed-on: Rubydragon/MetagraphOptimization.jl#30
Co-authored-by: Anton Reinhard <anton.reinhard@proton.me>
Co-committed-by: Anton Reinhard <anton.reinhard@proton.me>
2024-01-03 16:38:32 +01:00
92e0eeaaef heterogeneity (#27)
Prepare things to work with heterogeneity, make things work on GPU

Reviewed-on: Rubydragon/MetagraphOptimization.jl#27
Co-authored-by: Anton Reinhard <anton.reinhard@proton.me>
Co-committed-by: Anton Reinhard <anton.reinhard@proton.me>
2023-12-18 14:31:52 +01:00
c90346e948 Add QED Model (#25)
Reviewed-on: Rubydragon/MetagraphOptimization.jl#25
Co-authored-by: Anton Reinhard <anton.reinhard@proton.me>
Co-committed-by: Anton Reinhard <anton.reinhard@proton.me>
2023-12-07 02:54:15 +01:00
b7560685d4 Optimizer interface and sample implementation (#19)
Reviewed-on: Rubydragon/MetagraphOptimization.jl#19
Co-authored-by: Anton Reinhard <anton.reinhard@proton.me>
Co-committed-by: Anton Reinhard <anton.reinhard@proton.me>
2023-11-22 13:51:54 +01:00
16274919e4 Cost Estimation interface (#14)
See issue #13

Reviewed-on: Rubydragon/MetagraphOptimization.jl#14
Co-authored-by: Anton Reinhard <anton.reinhard@proton.me>
Co-committed-by: Anton Reinhard <anton.reinhard@proton.me>
2023-11-17 01:31:31 +01:00
2709eeb3dc Fix the types, add some profiling examples (#15)
Reviewed-on: Rubydragon/MetagraphOptimization.jl#15
Co-authored-by: Anton Reinhard <anton.reinhard@proton.me>
Co-committed-by: Anton Reinhard <anton.reinhard@proton.me>
2023-11-13 12:55:02 +01:00
5a30f57e1f Add scheduling, machine info, caching strategies and devices (#9)
Some checks failed
MetagraphOptimization_CI / prepare (push) Has been cancelled
MetagraphOptimization_CI / test (push) Has been cancelled
MetagraphOptimization_CI / docs (push) Has been cancelled
Reviewed-on: Rubydragon/MetagraphOptimization.jl#9
Co-authored-by: Anton Reinhard <anton.reinhard@proton.me>
Co-committed-by: Anton Reinhard <anton.reinhard@proton.me>
2023-10-12 17:51:03 +02:00
62791ab422 Fix docs
Some checks failed
MetagraphOptimization_CI / prepare (push) Has been cancelled
MetagraphOptimization_CI / test (push) Has been cancelled
MetagraphOptimization_CI / docs (push) Has been cancelled
2023-09-17 12:40:11 +02:00
4c452dce98 Add execution test 2023-09-17 10:32:43 +02:00
Anton Reinhard
27c4b8ba34 Use real ABC-Model compute effort and data transfer numbers 2023-09-07 18:46:41 +02:00
Anton Reinhard
e59d24ebe5 Add code gen documentation 2023-09-07 18:23:36 +02:00
Anton Reinhard
d1666de432 Add accurate arithmetic for summation, fix order of input particles 2023-09-07 16:49:44 +02:00
0f78053ccf Fix topoligical ordering on the graph 2023-09-05 12:14:41 +02:00
Anton Reinhard
7a1a97dac8 Add basic execution function 2023-09-01 16:22:16 +02:00
Anton Reinhard
f1edce258a Start adding code generation 2023-08-31 18:24:48 +02:00
e09ab7c77b Add tests 2023-08-29 13:09:33 +02:00
7387fa86b1 Add GraphProperties and property caching 2023-08-29 13:08:02 +02:00
065236be22 Add documentation to every function and automatic doc html building (#6)
Reviewed-on: Rubydragon/MetagraphOptimization.jl#6
Co-authored-by: Anton Reinhard <anton.reinhard@proton.me>
Co-committed-by: Anton Reinhard <anton.reinhard@proton.me>
2023-08-29 12:57:46 +02:00
ae1345d547 Add formatter
Some checks failed
Test / test (push) Has been cancelled
2023-08-25 10:48:22 +02:00
0f5f475cb4 Shuffle files and functions around for more consistent naming and smaller files 2023-08-24 15:11:54 +02:00
1b4030d633 Add validity checks to tests 2023-08-24 14:44:21 +02:00
c365233ea4 Rework node operations storage, remove make_edge from insert_edge calls 2023-08-23 19:28:45 +02:00
92f59110ed Add node reduction unit test and fix bugs 2023-08-23 12:51:28 +02:00
3454370a37 Multithreaded Node Reduction inserttion 2023-08-22 13:26:24 +02:00
45e35dd526 Add bench script 2023-08-22 10:29:59 +02:00
a7fb15c95b Multithreading for Node Reductions 2023-08-21 16:56:27 +02:00
2e96e6520e Some file reordering and parallelization work 2023-08-21 12:54:45 +02:00
895e4b2a12 Start multithreading 2023-08-21 10:29:00 +02:00
9cac6e76be Improve parsing performance and get_operations 2023-08-18 17:18:01 +02:00
6ee444b46f Remove double edge insertions 2023-08-18 11:47:12 +02:00
ab38f618c3 Remove unnecessary copies 2023-08-18 10:21:40 +02:00
e591da10d3 Move import to abc_model/ and rename to parse 2023-08-18 10:05:01 +02:00
ef6184b8ea Actually fix tests now 2023-08-17 21:53:55 +02:00
78f7fb2f05 Add unit tests, Fix operations and remaining failing tests 2023-08-17 18:46:57 +02:00
ae07b4cf80 Fix tests and operation cache 2023-08-17 14:15:02 +02:00
8a081ba93c WIP 2023-08-15 18:48:18 +02:00
118195c9c9 Add plotting and generate plots 2023-07-03 01:15:04 +02:00
f2638ab74f Add benchmark running to the pipeline 2023-06-30 12:40:00 +02:00
0cd83fedd9 WIP regenerate possible operations 2023-06-29 13:57:45 +02:00
d24d354fa0 Add Random Walk test 2023-06-27 20:05:27 +02:00
80a3912e3e Rework graph state 2023-06-27 18:38:26 +02:00
bf23b2c175 Add rudimentary tests 2023-06-22 17:24:35 +02:00
1ac619f3a0 Various optimizations, Readme update, Bench script for imports 2023-06-22 14:36:44 +02:00
f71748838f Readme and rename 2023-06-22 12:25:20 +02:00
e3e9ad3a0e improve performance and finish generate_options() 2023-06-13 13:48:23 +02:00