|
1 | 1 | window.BENCHMARK_DATA = { |
2 | | - "lastUpdate": 1762935074963, |
| 2 | + "lastUpdate": 1763024174485, |
3 | 3 | "repoUrl": "https://github.com/albertomercurio/DeviceSparseArrays.jl", |
4 | 4 | "entries": { |
5 | 5 | "Benchmark Results": [ |
@@ -818,6 +818,246 @@ window.BENCHMARK_DATA = { |
818 | 818 | "extra": "gctime=0\nmemory=1904\nallocs=31\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
819 | 819 | } |
820 | 820 | ] |
| 821 | + }, |
| 822 | + { |
| 823 | + "commit": { |
| 824 | + "author": { |
| 825 | + "email": "198982749+Copilot@users.noreply.github.com", |
| 826 | + "name": "Copilot", |
| 827 | + "username": "Copilot" |
| 828 | + }, |
| 829 | + "committer": { |
| 830 | + "email": "noreply@github.com", |
| 831 | + "name": "GitHub", |
| 832 | + "username": "web-flow" |
| 833 | + }, |
| 834 | + "distinct": true, |
| 835 | + "id": "17d03ca147e2ebe5bac2674063554c06fc602d89", |
| 836 | + "message": "Implement device-native conversions between CSR/CSC and COO sparse matrix formats (#22)\n\n* Initial plan\n\n* Implement direct conversions between CSR/CSC and COO formats\n\nCo-authored-by: albertomercurio <61953577+albertomercurio@users.noreply.github.com>\n\n* Format code with JuliaFormatter\n\nCo-authored-by: albertomercurio <61953577+albertomercurio@users.noreply.github.com>\n\n* Add comprehensive docstrings to conversion functions\n\nCo-authored-by: albertomercurio <61953577+albertomercurio@users.noreply.github.com>\n\n* Reimplement conversions without CPU transfers using kernels and AcceleratedKernels\n\nCo-authored-by: albertomercurio <61953577+albertomercurio@users.noreply.github.com>\n\n* Move conversion functions to separate conversions/ folder with tests and benchmarks\n\nCo-authored-by: albertomercurio <61953577+albertomercurio@users.noreply.github.com>\n\n* Fix conversions to work with all backends by using CPU sorting and cumsum\n\nCo-authored-by: albertomercurio <61953577+albertomercurio@users.noreply.github.com>\n\n* Move kernels outside functions and use AcceleratedKernels with JLBackend fallback\n\nCo-authored-by: albertomercurio <61953577+albertomercurio@users.noreply.github.com>\n\n* Remove JLArray dispatch and fix scalar indexing issue\n\n* Fix errors in Metal\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: albertomercurio <61953577+albertomercurio@users.noreply.github.com>\nCo-authored-by: Alberto Mercurio <alberto.mercurio96@gmail.com>", |
| 837 | + "timestamp": "2025-11-13T09:49:11+01:00", |
| 838 | + "tree_id": "b7ba2fd48b012a214114b97e743835f1bd73b9dd", |
| 839 | + "url": "https://github.com/albertomercurio/DeviceSparseArrays.jl/commit/17d03ca147e2ebe5bac2674063554c06fc602d89" |
| 840 | + }, |
| 841 | + "date": 1763024173980, |
| 842 | + "tool": "julia", |
| 843 | + "benches": [ |
| 844 | + { |
| 845 | + "name": "Matrix-Vector Multiplication/Array/CSC", |
| 846 | + "value": 3647224, |
| 847 | + "unit": "ns", |
| 848 | + "extra": "gctime=0\nmemory=1808\nallocs=32\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 849 | + }, |
| 850 | + { |
| 851 | + "name": "Matrix-Vector Multiplication/Array/COO", |
| 852 | + "value": 5295668, |
| 853 | + "unit": "ns", |
| 854 | + "extra": "gctime=0\nmemory=1808\nallocs=32\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 855 | + }, |
| 856 | + { |
| 857 | + "name": "Matrix-Vector Multiplication/Array/CSR", |
| 858 | + "value": 427988, |
| 859 | + "unit": "ns", |
| 860 | + "extra": "gctime=0\nmemory=1808\nallocs=32\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 861 | + }, |
| 862 | + { |
| 863 | + "name": "Matrix-Vector Multiplication/JLArray/CSC", |
| 864 | + "value": 3638572, |
| 865 | + "unit": "ns", |
| 866 | + "extra": "gctime=0\nmemory=1808\nallocs=32\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 867 | + }, |
| 868 | + { |
| 869 | + "name": "Matrix-Vector Multiplication/JLArray/COO", |
| 870 | + "value": 5289549, |
| 871 | + "unit": "ns", |
| 872 | + "extra": "gctime=0\nmemory=1808\nallocs=32\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 873 | + }, |
| 874 | + { |
| 875 | + "name": "Matrix-Vector Multiplication/JLArray/CSR", |
| 876 | + "value": 422542.5, |
| 877 | + "unit": "ns", |
| 878 | + "extra": "gctime=0\nmemory=1808\nallocs=32\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 879 | + }, |
| 880 | + { |
| 881 | + "name": "Sparse Vector/Array/Sum", |
| 882 | + "value": 18.170340681362724, |
| 883 | + "unit": "ns", |
| 884 | + "extra": "gctime=0\nmemory=0\nallocs=0\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":998,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 885 | + }, |
| 886 | + { |
| 887 | + "name": "Sparse Vector/Array/Sparse-Dense dot", |
| 888 | + "value": 123.45293466223698, |
| 889 | + "unit": "ns", |
| 890 | + "extra": "gctime=0\nmemory=0\nallocs=0\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":903,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 891 | + }, |
| 892 | + { |
| 893 | + "name": "Sparse Vector/JLArray/Sum", |
| 894 | + "value": 10.88088088088088, |
| 895 | + "unit": "ns", |
| 896 | + "extra": "gctime=0\nmemory=0\nallocs=0\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":999,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 897 | + }, |
| 898 | + { |
| 899 | + "name": "Sparse Vector/JLArray/Sparse-Dense dot", |
| 900 | + "value": 120.92061742006615, |
| 901 | + "unit": "ns", |
| 902 | + "extra": "gctime=0\nmemory=0\nallocs=0\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":907,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 903 | + }, |
| 904 | + { |
| 905 | + "name": "Format Conversions/Array/CSC → COO", |
| 906 | + "value": 1046220, |
| 907 | + "unit": "ns", |
| 908 | + "extra": "gctime=0\nmemory=24000904\nallocs=41\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 909 | + }, |
| 910 | + { |
| 911 | + "name": "Format Conversions/Array/COO → CSC", |
| 912 | + "value": 9703357, |
| 913 | + "unit": "ns", |
| 914 | + "extra": "gctime=0\nmemory=48248744\nallocs=194\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 915 | + }, |
| 916 | + { |
| 917 | + "name": "Format Conversions/Array/CSR → COO", |
| 918 | + "value": 1056344, |
| 919 | + "unit": "ns", |
| 920 | + "extra": "gctime=0\nmemory=24000904\nallocs=41\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 921 | + }, |
| 922 | + { |
| 923 | + "name": "Format Conversions/Array/COO → CSR", |
| 924 | + "value": 50771395, |
| 925 | + "unit": "ns", |
| 926 | + "extra": "gctime=0\nmemory=56248888\nallocs=202\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 927 | + }, |
| 928 | + { |
| 929 | + "name": "Format Conversions/JLArray/CSC → COO", |
| 930 | + "value": 1044076, |
| 931 | + "unit": "ns", |
| 932 | + "extra": "gctime=0\nmemory=23987656\nallocs=41\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 933 | + }, |
| 934 | + { |
| 935 | + "name": "Format Conversions/JLArray/COO → CSC", |
| 936 | + "value": 9816292, |
| 937 | + "unit": "ns", |
| 938 | + "extra": "gctime=0\nmemory=48222248\nallocs=194\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 939 | + }, |
| 940 | + { |
| 941 | + "name": "Format Conversions/JLArray/CSR → COO", |
| 942 | + "value": 1049575, |
| 943 | + "unit": "ns", |
| 944 | + "extra": "gctime=0\nmemory=23987656\nallocs=41\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 945 | + }, |
| 946 | + { |
| 947 | + "name": "Format Conversions/JLArray/COO → CSR", |
| 948 | + "value": 53503550, |
| 949 | + "unit": "ns", |
| 950 | + "extra": "gctime=0\nmemory=56217976\nallocs=202\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 951 | + }, |
| 952 | + { |
| 953 | + "name": "Sparse + Dense Addition/Array/CSC", |
| 954 | + "value": 118473674.5, |
| 955 | + "unit": "ns", |
| 956 | + "extra": "gctime=4174866.5\nmemory=800003632\nallocs=35\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 957 | + }, |
| 958 | + { |
| 959 | + "name": "Sparse + Dense Addition/Array/COO", |
| 960 | + "value": 114732764, |
| 961 | + "unit": "ns", |
| 962 | + "extra": "gctime=4119217\nmemory=800003632\nallocs=35\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 963 | + }, |
| 964 | + { |
| 965 | + "name": "Sparse + Dense Addition/Array/CSR", |
| 966 | + "value": 114087974, |
| 967 | + "unit": "ns", |
| 968 | + "extra": "gctime=4100130.5\nmemory=800003632\nallocs=35\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 969 | + }, |
| 970 | + { |
| 971 | + "name": "Sparse + Dense Addition/JLArray/CSC", |
| 972 | + "value": 113744347, |
| 973 | + "unit": "ns", |
| 974 | + "extra": "gctime=4105566\nmemory=800003632\nallocs=35\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 975 | + }, |
| 976 | + { |
| 977 | + "name": "Sparse + Dense Addition/JLArray/COO", |
| 978 | + "value": 115158101, |
| 979 | + "unit": "ns", |
| 980 | + "extra": "gctime=4249189\nmemory=800003632\nallocs=35\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 981 | + }, |
| 982 | + { |
| 983 | + "name": "Sparse + Dense Addition/JLArray/CSR", |
| 984 | + "value": 117307302, |
| 985 | + "unit": "ns", |
| 986 | + "extra": "gctime=4217650\nmemory=800003632\nallocs=35\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 987 | + }, |
| 988 | + { |
| 989 | + "name": "Matrix-Matrix Multiplication/Array/CSC", |
| 990 | + "value": 284077640.5, |
| 991 | + "unit": "ns", |
| 992 | + "extra": "gctime=0\nmemory=1808\nallocs=32\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 993 | + }, |
| 994 | + { |
| 995 | + "name": "Matrix-Matrix Multiplication/Array/COO", |
| 996 | + "value": 256817669.5, |
| 997 | + "unit": "ns", |
| 998 | + "extra": "gctime=0\nmemory=1824\nallocs=33\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 999 | + }, |
| 1000 | + { |
| 1001 | + "name": "Matrix-Matrix Multiplication/Array/CSR", |
| 1002 | + "value": 49574433, |
| 1003 | + "unit": "ns", |
| 1004 | + "extra": "gctime=0\nmemory=1808\nallocs=32\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 1005 | + }, |
| 1006 | + { |
| 1007 | + "name": "Matrix-Matrix Multiplication/JLArray/CSC", |
| 1008 | + "value": 281439332.5, |
| 1009 | + "unit": "ns", |
| 1010 | + "extra": "gctime=0\nmemory=1808\nallocs=32\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 1011 | + }, |
| 1012 | + { |
| 1013 | + "name": "Matrix-Matrix Multiplication/JLArray/COO", |
| 1014 | + "value": 257043570.5, |
| 1015 | + "unit": "ns", |
| 1016 | + "extra": "gctime=0\nmemory=1824\nallocs=33\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 1017 | + }, |
| 1018 | + { |
| 1019 | + "name": "Matrix-Matrix Multiplication/JLArray/CSR", |
| 1020 | + "value": 49417778.5, |
| 1021 | + "unit": "ns", |
| 1022 | + "extra": "gctime=0\nmemory=1808\nallocs=32\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 1023 | + }, |
| 1024 | + { |
| 1025 | + "name": "Three-argument dot/Array/CSC", |
| 1026 | + "value": 448276, |
| 1027 | + "unit": "ns", |
| 1028 | + "extra": "gctime=0\nmemory=1904\nallocs=31\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 1029 | + }, |
| 1030 | + { |
| 1031 | + "name": "Three-argument dot/Array/COO", |
| 1032 | + "value": 5084888, |
| 1033 | + "unit": "ns", |
| 1034 | + "extra": "gctime=0\nmemory=3624\nallocs=32\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 1035 | + }, |
| 1036 | + { |
| 1037 | + "name": "Three-argument dot/Array/CSR", |
| 1038 | + "value": 494031, |
| 1039 | + "unit": "ns", |
| 1040 | + "extra": "gctime=0\nmemory=1904\nallocs=31\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 1041 | + }, |
| 1042 | + { |
| 1043 | + "name": "Three-argument dot/JLArray/CSC", |
| 1044 | + "value": 439369, |
| 1045 | + "unit": "ns", |
| 1046 | + "extra": "gctime=0\nmemory=1904\nallocs=31\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 1047 | + }, |
| 1048 | + { |
| 1049 | + "name": "Three-argument dot/JLArray/COO", |
| 1050 | + "value": 5043762, |
| 1051 | + "unit": "ns", |
| 1052 | + "extra": "gctime=0\nmemory=3624\nallocs=32\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 1053 | + }, |
| 1054 | + { |
| 1055 | + "name": "Three-argument dot/JLArray/CSR", |
| 1056 | + "value": 491812, |
| 1057 | + "unit": "ns", |
| 1058 | + "extra": "gctime=0\nmemory=1904\nallocs=31\nparams={\"gctrial\":true,\"time_tolerance\":0.05,\"evals_set\":false,\"samples\":10000,\"evals\":1,\"gcsample\":false,\"seconds\":5,\"overhead\":0,\"memory_tolerance\":0.01}" |
| 1059 | + } |
| 1060 | + ] |
821 | 1061 | } |
822 | 1062 | ] |
823 | 1063 | } |
|
0 commit comments