diff --git a/.github/workflows/comment_trigger_benchmark.yml b/.github/workflows/comment_trigger_benchmark.yml deleted file mode 100644 index 2c836f2b92..0000000000 --- a/.github/workflows/comment_trigger_benchmark.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: Run benchmarks from comment trigger - -# https://dev.to/zirkelc/trigger-github-workflow-for-comment-on-pull-request-45l2 - -on: - issue_comment: - types: [created] - -jobs: - benchmark: - if: github.event.issue.pull_request && contains(github.event.comment.body, '[benchmark]') - runs-on: ubuntu-latest - env: - JULIA_NUM_THREADS: 2 - steps: - - name: Get PR branch - uses: xt0rted/pull-request-comment-branch@v1 - id: comment-branch - - name: Set latest commit status as pending - uses: myrotvorets/set-commit-status-action@master - with: - sha: ${{ steps.comment-branch.outputs.head_sha }} - token: ${{ secrets.GITHUB_TOKEN }} - status: pending - - name: Checkout PR branch - uses: actions/checkout@v3 - with: - # https://github.com/actions/checkout/issues/331#issuecomment-1438220926 - ref: refs/pull/${{ github.event.issue.number }}/head - - name: Setup Node.js 16 - uses: actions/setup-node@v3 - with: - node-version: 16 - - uses: julia-actions/setup-julia@latest - with: - version: 1 - - name: Install dependencies - run: julia -e 'using Pkg; pkg"add PkgBenchmark BenchmarkCI@0.1"' - - name: Run benchmarks - run: julia -e 'using Pkg; using BenchmarkCI; BenchmarkCI.judge(; baseline="origin/main")' - - name: Post results - run: julia -e 'using BenchmarkCI; BenchmarkCI.postjudge()' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/Checklists.txt b/Checklists.txt index c678af307d..f12962187e 100644 --- a/Checklists.txt +++ b/Checklists.txt @@ -21,10 +21,3 @@ Checklist for Updating the Version of Documenter.jl Used number for Documenter (under the [compat] section). - Create a new PR to confirm that the docs build correctly with the new version. - -Checklist for Updating the Benchmark CI for New Dependencies ----------------------------------------------------------- -- If you update the dependencies of the NDTensors or ITensors -module, the changes need to get reflected in the benchmark -CI setup. -- See benchmark/README.md for detailed instructions. diff --git a/Project.toml b/Project.toml index 1842bc3b43..1766c6bd56 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "ITensors" uuid = "9136182c-28ba-11e9-034c-db9fb085ebd5" authors = ["Matthew Fishman ", "Miles Stoudenmire "] -version = "0.5.3" +version = "0.5.4" [deps] Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" diff --git a/benchmark/.gitignore b/benchmark/.gitignore deleted file mode 100644 index bd5ff4fe7f..0000000000 --- a/benchmark/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -dmrg -2ddmrg -*.o diff --git a/benchmark/Manifest.toml b/benchmark/Manifest.toml deleted file mode 100644 index 020f11955a..0000000000 --- a/benchmark/Manifest.toml +++ /dev/null @@ -1,728 +0,0 @@ -# This file is machine-generated - editing it directly is not advised - -julia_version = "1.9.3" -manifest_format = "2.0" -project_hash = "311c1b8568425b5001e5052f098847bd1c9846a5" - -[[deps.Accessors]] -deps = ["CompositionsBase", "ConstructionBase", "Dates", "InverseFunctions", "LinearAlgebra", "MacroTools", "Requires", "Test"] -git-tree-sha1 = "954634616d5846d8e216df1298be2298d55280b2" -uuid = "7d9f7c33-5ae7-4f3b-8dc6-eff91059b697" -version = "0.1.32" - - [deps.Accessors.extensions] - AccessorsAxisKeysExt = "AxisKeys" - AccessorsIntervalSetsExt = "IntervalSets" - AccessorsStaticArraysExt = "StaticArrays" - AccessorsStructArraysExt = "StructArrays" - - [deps.Accessors.weakdeps] - AxisKeys = "94b1ba4f-4ee9-5380-92f1-94cde586c3c5" - IntervalSets = "8197267c-284f-5f27-9208-e0e47529a953" - StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" - StructArrays = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" - -[[deps.Adapt]] -deps = ["LinearAlgebra", "Requires"] -git-tree-sha1 = "76289dc51920fdc6e0013c872ba9551d54961c24" -uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" -version = "3.6.2" -weakdeps = ["StaticArrays"] - - [deps.Adapt.extensions] - AdaptStaticArraysExt = "StaticArrays" - -[[deps.ArgCheck]] -git-tree-sha1 = "a3a402a35a2f7e0b87828ccabbd5ebfbebe356b4" -uuid = "dce04be8-c92d-5529-be00-80e4d2c0e197" -version = "2.3.0" - -[[deps.ArgTools]] -uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" -version = "1.1.1" - -[[deps.Artifacts]] -uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" - -[[deps.BangBang]] -deps = ["Compat", "ConstructionBase", "InitialValues", "LinearAlgebra", "Requires", "Setfield", "Tables"] -git-tree-sha1 = "e28912ce94077686443433c2800104b061a827ed" -uuid = "198e06fe-97b7-11e9-32a5-e1d131e6ad66" -version = "0.3.39" - - [deps.BangBang.extensions] - BangBangChainRulesCoreExt = "ChainRulesCore" - BangBangDataFramesExt = "DataFrames" - BangBangStaticArraysExt = "StaticArrays" - BangBangStructArraysExt = "StructArrays" - BangBangTypedTablesExt = "TypedTables" - - [deps.BangBang.weakdeps] - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" - StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" - StructArrays = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" - TypedTables = "9d95f2ec-7b3d-5a63-8d20-e2491e220bb9" - -[[deps.Base64]] -uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" - -[[deps.Baselet]] -git-tree-sha1 = "aebf55e6d7795e02ca500a689d326ac979aaf89e" -uuid = "9718e550-a3fa-408a-8086-8db961cd8217" -version = "0.1.1" - -[[deps.BenchmarkTools]] -deps = ["JSON", "Logging", "Printf", "Profile", "Statistics", "UUIDs"] -git-tree-sha1 = "d9a9701b899b30332bbcb3e1679c41cce81fb0e8" -uuid = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" -version = "1.3.2" - -[[deps.BitIntegers]] -deps = ["Random"] -git-tree-sha1 = "abb894fb55122b4604af0d460d3018e687a60963" -uuid = "c3b6d118-76ef-56ca-8cc7-ebb389d030a1" -version = "0.3.0" - -[[deps.ChainRulesCore]] -deps = ["Compat", "LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "e30f2f4e20f7f186dc36529910beaedc60cfa644" -uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" -version = "1.16.0" - -[[deps.Compat]] -deps = ["UUIDs"] -git-tree-sha1 = "e460f044ca8b99be31d35fe54fc33a5c33dd8ed7" -uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "4.9.0" -weakdeps = ["Dates", "LinearAlgebra"] - - [deps.Compat.extensions] - CompatLinearAlgebraExt = "LinearAlgebra" - -[[deps.CompilerSupportLibraries_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" -version = "1.0.5+0" - -[[deps.CompositionsBase]] -git-tree-sha1 = "802bb88cd69dfd1509f6670416bd4434015693ad" -uuid = "a33af91c-f02d-484b-be07-31d278c5ca2b" -version = "0.1.2" -weakdeps = ["InverseFunctions"] - - [deps.CompositionsBase.extensions] - CompositionsBaseInverseFunctionsExt = "InverseFunctions" - -[[deps.ConstructionBase]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "c53fc348ca4d40d7b371e71fd52251839080cbc9" -uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9" -version = "1.5.4" - - [deps.ConstructionBase.extensions] - ConstructionBaseIntervalSetsExt = "IntervalSets" - ConstructionBaseStaticArraysExt = "StaticArrays" - - [deps.ConstructionBase.weakdeps] - IntervalSets = "8197267c-284f-5f27-9208-e0e47529a953" - StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" - -[[deps.ContextVariablesX]] -deps = ["Compat", "Logging", "UUIDs"] -git-tree-sha1 = "25cc3803f1030ab855e383129dcd3dc294e322cc" -uuid = "6add18c4-b38d-439d-96f6-d6bc489c04c5" -version = "0.1.3" - -[[deps.DataAPI]] -git-tree-sha1 = "8da84edb865b0b5b0100c0666a9bc9a0b71c553c" -uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" -version = "1.15.0" - -[[deps.DataValueInterfaces]] -git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" -uuid = "e2d170a0-9d28-54be-80f0-106bbe20a464" -version = "1.0.0" - -[[deps.Dates]] -deps = ["Printf"] -uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" - -[[deps.DefineSingletons]] -git-tree-sha1 = "0fba8b706d0178b4dc7fd44a96a92382c9065c2c" -uuid = "244e2a9f-e319-4986-a169-4d1fe445cd52" -version = "0.1.2" - -[[deps.Dictionaries]] -deps = ["Indexing", "Random", "Serialization"] -git-tree-sha1 = "e82c3c97b5b4ec111f3c1b55228cebc7510525a2" -uuid = "85a47980-9c8c-11e8-2b9f-f7ca1fa99fb4" -version = "0.3.25" - -[[deps.Distributed]] -deps = ["Random", "Serialization", "Sockets"] -uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" - -[[deps.DocStringExtensions]] -deps = ["LibGit2"] -git-tree-sha1 = "2fb1e02f2b635d0845df5d7c167fec4dd739b00d" -uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" -version = "0.9.3" - -[[deps.Downloads]] -deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] -uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" -version = "1.6.0" - -[[deps.ExprTools]] -git-tree-sha1 = "27415f162e6028e81c72b82ef756bf321213b6ec" -uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" -version = "0.1.10" - -[[deps.ExternalDocstrings]] -git-tree-sha1 = "1224740fc4d07c989949e1c1b508ebd49a65a5f6" -uuid = "e189563c-0753-4f5e-ad5c-be4293c83fb4" -version = "0.1.1" - -[[deps.FLoops]] -deps = ["BangBang", "Compat", "FLoopsBase", "InitialValues", "JuliaVariables", "MLStyle", "Serialization", "Setfield", "Transducers"] -git-tree-sha1 = "ffb97765602e3cbe59a0589d237bf07f245a8576" -uuid = "cc61a311-1640-44b5-9fba-1b764f453329" -version = "0.2.1" - -[[deps.FLoopsBase]] -deps = ["ContextVariablesX"] -git-tree-sha1 = "656f7a6859be8673bf1f35da5670246b923964f7" -uuid = "b9860ae5-e623-471e-878b-f6a53c775ea6" -version = "0.1.1" - -[[deps.FileWatching]] -uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" - -[[deps.Folds]] -deps = ["Accessors", "BangBang", "Baselet", "DefineSingletons", "Distributed", "ExternalDocstrings", "InitialValues", "MicroCollections", "Referenceables", "Requires", "Test", "ThreadedScans", "Transducers"] -git-tree-sha1 = "638109532de382a1f99b1aae1ca8b5d08515d85a" -uuid = "41a02a25-b8f0-4f67-bc48-60067656b558" -version = "0.2.8" - -[[deps.Functors]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "9a68d75d466ccc1218d0552a8e1631151c569545" -uuid = "d9f16b24-f501-4c13-a1f2-28368ffc5196" -version = "0.4.5" - -[[deps.Future]] -deps = ["Random"] -uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" - -[[deps.GPUArraysCore]] -deps = ["Adapt"] -git-tree-sha1 = "2d6ca471a6c7b536127afccfa7564b5b39227fe0" -uuid = "46192b85-c4d5-4398-a991-12ede77f4527" -version = "0.1.5" - -[[deps.HDF5]] -deps = ["Compat", "HDF5_jll", "Libdl", "Mmap", "Printf", "Random", "Requires", "UUIDs"] -git-tree-sha1 = "114e20044677badbc631ee6fdc80a67920561a29" -uuid = "f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f" -version = "0.16.16" - -[[deps.HDF5_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LLVMOpenMP_jll", "LazyArtifacts", "LibCURL_jll", "Libdl", "MPICH_jll", "MPIPreferences", "MPItrampoline_jll", "MicrosoftMPI_jll", "OpenMPI_jll", "OpenSSL_jll", "TOML", "Zlib_jll", "libaec_jll"] -git-tree-sha1 = "38c8874692d48d5440d5752d6c74b0c6b0b60739" -uuid = "0234f1f7-429e-5d53-9886-15a909be8d59" -version = "1.14.2+1" - -[[deps.ITensors]] -deps = ["Adapt", "BitIntegers", "ChainRulesCore", "Compat", "Dictionaries", "DocStringExtensions", "Functors", "HDF5", "IsApprox", "KrylovKit", "LinearAlgebra", "LinearMaps", "NDTensors", "PackageCompiler", "Pkg", "Printf", "Random", "Requires", "SerializedElementArrays", "SimpleTraits", "StaticArrays", "Strided", "TimerOutputs", "TupleTools", "Zeros", "ZygoteRules"] -path = ".." -uuid = "9136182c-28ba-11e9-034c-db9fb085ebd5" -version = "0.3.42" - -[[deps.Indexing]] -git-tree-sha1 = "ce1566720fd6b19ff3411404d4b977acd4814f9f" -uuid = "313cdc1a-70c2-5d6a-ae34-0150d3930a38" -version = "1.1.1" - -[[deps.InitialValues]] -git-tree-sha1 = "4da0f88e9a39111c2fa3add390ab15f3a44f3ca3" -uuid = "22cec73e-a1b8-11e9-2c92-598750a2cf9c" -version = "0.3.1" - -[[deps.InteractiveUtils]] -deps = ["Markdown"] -uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" - -[[deps.InverseFunctions]] -deps = ["Test"] -git-tree-sha1 = "68772f49f54b479fa88ace904f6127f0a3bb2e46" -uuid = "3587e190-3f89-42d0-90ee-14403ec27112" -version = "0.1.12" - -[[deps.IsApprox]] -deps = ["Dictionaries", "LinearAlgebra"] -git-tree-sha1 = "db9c41f1ea43dce8d57b56cf36758cd135a6c2db" -uuid = "28f27b66-4bd8-47e7-9110-e2746eb8bed7" -version = "0.1.7" - -[[deps.IteratorInterfaceExtensions]] -git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" -uuid = "82899510-4779-5014-852e-03e436cf321d" -version = "1.0.0" - -[[deps.JLLWrappers]] -deps = ["Artifacts", "Preferences"] -git-tree-sha1 = "7e5d6779a1e09a36db2a7b6cff50942a0a7d0fca" -uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" -version = "1.5.0" - -[[deps.JSON]] -deps = ["Dates", "Mmap", "Parsers", "Unicode"] -git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a" -uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" -version = "0.21.4" - -[[deps.JuliaVariables]] -deps = ["MLStyle", "NameResolution"] -git-tree-sha1 = "49fb3cb53362ddadb4415e9b73926d6b40709e70" -uuid = "b14d175d-62b4-44ba-8fb7-3064adc8c3ec" -version = "0.2.4" - -[[deps.KrylovKit]] -deps = ["ChainRulesCore", "GPUArraysCore", "LinearAlgebra", "Printf"] -git-tree-sha1 = "1a5e1d9941c783b0119897d29f2eb665d876ecf3" -uuid = "0b1a1467-8014-51b9-945f-bf0ae24f4b77" -version = "0.6.0" - -[[deps.LLVMOpenMP_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "f689897ccbe049adb19a065c495e75f372ecd42b" -uuid = "1d63c593-3942-5779-bab2-d838dc0a180e" -version = "15.0.4+0" - -[[deps.LazyArtifacts]] -deps = ["Artifacts", "Pkg"] -uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3" - -[[deps.LibCURL]] -deps = ["LibCURL_jll", "MozillaCACerts_jll"] -uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" -version = "0.6.3" - -[[deps.LibCURL_jll]] -deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] -uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" -version = "7.84.0+0" - -[[deps.LibGit2]] -deps = ["Base64", "NetworkOptions", "Printf", "SHA"] -uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" - -[[deps.LibSSH2_jll]] -deps = ["Artifacts", "Libdl", "MbedTLS_jll"] -uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" -version = "1.10.2+0" - -[[deps.Libdl]] -uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" - -[[deps.LinearAlgebra]] -deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] -uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" - -[[deps.LinearMaps]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "6698ab5e662b47ffc63a82b2f43c1cee015cf80d" -uuid = "7a12625a-238d-50fd-b39a-03d52299707e" -version = "3.11.0" -weakdeps = ["ChainRulesCore", "SparseArrays", "Statistics"] - - [deps.LinearMaps.extensions] - LinearMapsChainRulesCoreExt = "ChainRulesCore" - LinearMapsSparseArraysExt = "SparseArrays" - LinearMapsStatisticsExt = "Statistics" - -[[deps.Logging]] -uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" - -[[deps.MLStyle]] -git-tree-sha1 = "bc38dff0548128765760c79eb7388a4b37fae2c8" -uuid = "d8e11817-5142-5d16-987a-aa16d5891078" -version = "0.4.17" - -[[deps.MPICH_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] -git-tree-sha1 = "8a5b4d2220377d1ece13f49438d71ad20cf1ba83" -uuid = "7cb0a576-ebde-5e09-9194-50597f1243b4" -version = "4.1.2+0" - -[[deps.MPIPreferences]] -deps = ["Libdl", "Preferences"] -git-tree-sha1 = "781916a2ebf2841467cda03b6f1af43e23839d85" -uuid = "3da0fdf6-3ccc-4f1b-acd9-58baa6c99267" -version = "0.1.9" - -[[deps.MPItrampoline_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] -git-tree-sha1 = "6979eccb6a9edbbb62681e158443e79ecc0d056a" -uuid = "f1f71cc9-e9ae-5b93-9b94-4fe0e1ad3748" -version = "5.3.1+0" - -[[deps.MacroTools]] -deps = ["Markdown", "Random"] -git-tree-sha1 = "9ee1618cbf5240e6d4e0371d6f24065083f60c48" -uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" -version = "0.5.11" - -[[deps.Markdown]] -deps = ["Base64"] -uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" - -[[deps.MbedTLS_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" -version = "2.28.2+0" - -[[deps.MicroCollections]] -deps = ["BangBang", "InitialValues", "Setfield"] -git-tree-sha1 = "629afd7d10dbc6935ec59b32daeb33bc4460a42e" -uuid = "128add7d-3638-4c79-886c-908ea0c25c34" -version = "0.1.4" - -[[deps.MicrosoftMPI_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "a8027af3d1743b3bfae34e54872359fdebb31422" -uuid = "9237b28f-5490-5468-be7b-bb81f5f5e6cf" -version = "10.1.3+4" - -[[deps.Mmap]] -uuid = "a63ad114-7e13-5084-954f-fe012c677804" - -[[deps.MozillaCACerts_jll]] -uuid = "14a3606d-f60d-562e-9121-12d972cd8159" -version = "2022.10.11" - -[[deps.NDTensors]] -deps = ["Adapt", "Compat", "Dictionaries", "FLoops", "Folds", "Functors", "HDF5", "LinearAlgebra", "Random", "Requires", "SimpleTraits", "SplitApplyCombine", "StaticArrays", "Strided", "TimerOutputs", "TupleTools"] -path = "../NDTensors" -uuid = "23ae76d9-e61a-49c4-8f12-3f1a16adf9cf" -version = "0.2.10" - - [deps.NDTensors.extensions] - NDTensorsCUDAExt = "CUDA" - NDTensorsMetalExt = "Metal" - NDTensorsOctavianExt = "Octavian" - NDTensorsTBLISExt = "TBLIS" - - [deps.NDTensors.weakdeps] - CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" - Metal = "dde4c033-4e86-420c-a63e-0dd931031962" - Octavian = "6fd5a793-0b7e-452c-907f-f8bfe9c57db4" - TBLIS = "48530278-0828-4a49-9772-0f3830dfa1e9" - -[[deps.NameResolution]] -deps = ["PrettyPrint"] -git-tree-sha1 = "1a0fa0e9613f46c9b8c11eee38ebb4f590013c5e" -uuid = "71a1bf82-56d0-4bbc-8a3c-48b961074391" -version = "0.1.5" - -[[deps.NetworkOptions]] -uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" -version = "1.2.0" - -[[deps.OpenBLAS_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] -uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" -version = "0.3.21+4" - -[[deps.OpenMPI_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] -git-tree-sha1 = "f3080f4212a8ba2ceb10a34b938601b862094314" -uuid = "fe0851c0-eecd-5654-98d4-656369965a5c" -version = "4.1.5+0" - -[[deps.OpenSSL_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "e78db7bd5c26fc5a6911b50a47ee302219157ea8" -uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" -version = "3.0.10+0" - -[[deps.OrderedCollections]] -git-tree-sha1 = "2e73fe17cac3c62ad1aebe70d44c963c3cfdc3e3" -uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" -version = "1.6.2" - -[[deps.PackageCompiler]] -deps = ["Artifacts", "LazyArtifacts", "Libdl", "Pkg", "Printf", "RelocatableFolders", "TOML", "UUIDs"] -git-tree-sha1 = "1a6a868eb755e8ea9ecd000aa6ad175def0cc85b" -uuid = "9b87118b-4619-50d2-8e1e-99f35a4d4d9d" -version = "2.1.7" - -[[deps.PackageExtensionCompat]] -git-tree-sha1 = "f9b1e033c2b1205cf30fd119f4e50881316c1923" -uuid = "65ce6f38-6b18-4e1d-a461-8949797d7930" -version = "1.0.1" -weakdeps = ["Requires", "TOML"] - -[[deps.Parsers]] -deps = ["Dates", "PrecompileTools", "UUIDs"] -git-tree-sha1 = "716e24b21538abc91f6205fd1d8363f39b442851" -uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "2.7.2" - -[[deps.Pkg]] -deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] -uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" -version = "1.9.2" - -[[deps.PrecompileTools]] -deps = ["Preferences"] -git-tree-sha1 = "03b4c25b43cb84cee5c90aa9b5ea0a78fd848d2f" -uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a" -version = "1.2.0" - -[[deps.Preferences]] -deps = ["TOML"] -git-tree-sha1 = "7eb1686b4f04b82f96ed7a4ea5890a4f0c7a09f1" -uuid = "21216c6a-2e73-6563-6e65-726566657250" -version = "1.4.0" - -[[deps.PrettyPrint]] -git-tree-sha1 = "632eb4abab3449ab30c5e1afaa874f0b98b586e4" -uuid = "8162dcfd-2161-5ef2-ae6c-7681170c5f98" -version = "0.2.0" - -[[deps.Printf]] -deps = ["Unicode"] -uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" - -[[deps.Profile]] -deps = ["Printf"] -uuid = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" - -[[deps.REPL]] -deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] -uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" - -[[deps.Random]] -deps = ["SHA", "Serialization"] -uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" - -[[deps.Referenceables]] -deps = ["Adapt"] -git-tree-sha1 = "e681d3bfa49cd46c3c161505caddf20f0e62aaa9" -uuid = "42d2dcc6-99eb-4e98-b66c-637b7d73030e" -version = "0.1.2" - -[[deps.RelocatableFolders]] -deps = ["SHA", "Scratch"] -git-tree-sha1 = "90bc7a7c96410424509e4263e277e43250c05691" -uuid = "05181044-ff0b-4ac5-8273-598c1e38db00" -version = "1.0.0" - -[[deps.Requires]] -deps = ["UUIDs"] -git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7" -uuid = "ae029012-a4dd-5104-9daa-d747884805df" -version = "1.3.0" - -[[deps.SHA]] -uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" -version = "0.7.0" - -[[deps.Scratch]] -deps = ["Dates"] -git-tree-sha1 = "30449ee12237627992a99d5e30ae63e4d78cd24a" -uuid = "6c6a2e73-6563-6170-7368-637461726353" -version = "1.2.0" - -[[deps.Serialization]] -uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" - -[[deps.SerializedElementArrays]] -deps = ["Serialization"] -git-tree-sha1 = "8e73e49eaebf73486446a3c1eede403bff259826" -uuid = "d3ce8812-9567-47e9-a7b5-65a6d70a3065" -version = "0.1.0" - -[[deps.Setfield]] -deps = ["ConstructionBase", "Future", "MacroTools", "StaticArraysCore"] -git-tree-sha1 = "e2cc6d8c88613c05e1defb55170bf5ff211fbeac" -uuid = "efcf1570-3423-57d1-acb7-fd33fddbac46" -version = "1.1.1" - -[[deps.SimpleTraits]] -deps = ["InteractiveUtils", "MacroTools"] -git-tree-sha1 = "5d7e3f4e11935503d3ecaf7186eac40602e7d231" -uuid = "699a6c99-e7fa-54fc-8d76-47d257e15c1d" -version = "0.9.4" - -[[deps.Sockets]] -uuid = "6462fe0b-24de-5631-8697-dd941f90decc" - -[[deps.SparseArrays]] -deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] -uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" - -[[deps.SplitApplyCombine]] -deps = ["Dictionaries", "Indexing"] -git-tree-sha1 = "48f393b0231516850e39f6c756970e7ca8b77045" -uuid = "03a91e81-4c3e-53e1-a0a4-9c0c8f19dd66" -version = "1.2.2" - -[[deps.SplittablesBase]] -deps = ["Setfield", "Test"] -git-tree-sha1 = "e08a62abc517eb79667d0a29dc08a3b589516bb5" -uuid = "171d559e-b47b-412a-8079-5efa626c420e" -version = "0.1.15" - -[[deps.StaticArrays]] -deps = ["LinearAlgebra", "Random", "StaticArraysCore"] -git-tree-sha1 = "51621cca8651d9e334a659443a74ce50a3b6dfab" -uuid = "90137ffa-7385-5640-81b9-e52037218182" -version = "1.6.3" -weakdeps = ["Statistics"] - - [deps.StaticArrays.extensions] - StaticArraysStatisticsExt = "Statistics" - -[[deps.StaticArraysCore]] -git-tree-sha1 = "36b3d696ce6366023a0ea192b4cd442268995a0d" -uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" -version = "1.4.2" - -[[deps.Statistics]] -deps = ["LinearAlgebra", "SparseArrays"] -uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" -version = "1.9.0" - -[[deps.Strided]] -deps = ["LinearAlgebra", "StridedViews", "TupleTools"] -git-tree-sha1 = "40c69be0e1b72ee2f42923b7d1ff13e0b04e675c" -uuid = "5e0ebb24-38b0-5f93-81fe-25c709ecae67" -version = "2.0.4" - -[[deps.StridedViews]] -deps = ["LinearAlgebra", "PackageExtensionCompat"] -git-tree-sha1 = "bba5f6e1170e442aa7b7acd1a37b8df24001c3b0" -uuid = "4db3bf67-4bd7-4b4e-b153-31dc3fb37143" -version = "0.2.0" - - [deps.StridedViews.extensions] - StridedViewsCUDAExt = "CUDA" - - [deps.StridedViews.weakdeps] - CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" - -[[deps.SuiteSparse_jll]] -deps = ["Artifacts", "Libdl", "Pkg", "libblastrampoline_jll"] -uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c" -version = "5.10.1+6" - -[[deps.TOML]] -deps = ["Dates"] -uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" -version = "1.0.3" - -[[deps.TableTraits]] -deps = ["IteratorInterfaceExtensions"] -git-tree-sha1 = "c06b2f539df1c6efa794486abfb6ed2022561a39" -uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c" -version = "1.0.1" - -[[deps.Tables]] -deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "LinearAlgebra", "OrderedCollections", "TableTraits", "Test"] -git-tree-sha1 = "1544b926975372da01227b382066ab70e574a3ec" -uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" -version = "1.10.1" - -[[deps.Tar]] -deps = ["ArgTools", "SHA"] -uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" -version = "1.10.0" - -[[deps.Test]] -deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] -uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" - -[[deps.ThreadedScans]] -deps = ["ArgCheck"] -git-tree-sha1 = "ca1ba3000289eacba571aaa4efcefb642e7a1de6" -uuid = "24d252fe-5d94-4a69-83ea-56a14333d47a" -version = "0.1.0" - -[[deps.TimerOutputs]] -deps = ["ExprTools", "Printf"] -git-tree-sha1 = "f548a9e9c490030e545f72074a41edfd0e5bcdd7" -uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" -version = "0.5.23" - -[[deps.Transducers]] -deps = ["Adapt", "ArgCheck", "BangBang", "Baselet", "CompositionsBase", "ConstructionBase", "DefineSingletons", "Distributed", "InitialValues", "Logging", "Markdown", "MicroCollections", "Requires", "Setfield", "SplittablesBase", "Tables"] -git-tree-sha1 = "53bd5978b182fa7c57577bdb452c35e5b4fb73a5" -uuid = "28d57a85-8fef-5791-bfe6-a80928e7c999" -version = "0.4.78" - - [deps.Transducers.extensions] - TransducersBlockArraysExt = "BlockArrays" - TransducersDataFramesExt = "DataFrames" - TransducersLazyArraysExt = "LazyArrays" - TransducersOnlineStatsBaseExt = "OnlineStatsBase" - TransducersReferenceablesExt = "Referenceables" - - [deps.Transducers.weakdeps] - BlockArrays = "8e7c35d0-a365-5155-bbbb-fb81a777f24e" - DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" - LazyArrays = "5078a376-72f3-5289-bfd5-ec5146d43c02" - OnlineStatsBase = "925886fa-5bf2-5e8e-b522-a9147a512338" - Referenceables = "42d2dcc6-99eb-4e98-b66c-637b7d73030e" - -[[deps.TupleTools]] -git-tree-sha1 = "dd0ee1e392438338abb678dacdcaef41724ec57a" -uuid = "9d95972d-f1c8-5527-a6e0-b4b365fa01f6" -version = "1.4.0" - -[[deps.UUIDs]] -deps = ["Random", "SHA"] -uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" - -[[deps.Unicode]] -uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" - -[[deps.Zeros]] -deps = ["Test"] -git-tree-sha1 = "7eb4fd47c304c078425bf57da99a56606150d7d4" -uuid = "bd1ec220-6eb4-527a-9b49-e79c3db6233b" -version = "0.3.0" - -[[deps.Zlib_jll]] -deps = ["Libdl"] -uuid = "83775a58-1f1d-513f-b197-d71354ab007a" -version = "1.2.13+0" - -[[deps.ZygoteRules]] -deps = ["ChainRulesCore", "MacroTools"] -git-tree-sha1 = "977aed5d006b840e2e40c0b48984f7463109046d" -uuid = "700de1a5-db45-46bc-99cf-38207098b444" -version = "0.2.3" - -[[deps.libaec_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "eddd19a8dea6b139ea97bdc8a0e2667d4b661720" -uuid = "477f73a3-ac25-53e9-8cc3-50b2fa2566f0" -version = "1.0.6+1" - -[[deps.libblastrampoline_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" -version = "5.8.0+0" - -[[deps.nghttp2_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" -version = "1.48.0+0" - -[[deps.p7zip_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" -version = "17.4.0+0" diff --git a/benchmark/Project.toml b/benchmark/Project.toml deleted file mode 100644 index b199dc3c5f..0000000000 --- a/benchmark/Project.toml +++ /dev/null @@ -1,4 +0,0 @@ -[deps] -BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" -ITensors = "9136182c-28ba-11e9-034c-db9fb085ebd5" -NDTensors = "23ae76d9-e61a-49c4-8f12-3f1a16adf9cf" diff --git a/benchmark/README.md b/benchmark/README.md deleted file mode 100644 index ae6b580ca9..0000000000 --- a/benchmark/README.md +++ /dev/null @@ -1,57 +0,0 @@ -# ITensor automated benchmarks - -These benchmarks run for every PR. They compare a set of benchmarks (such as basic ITensor operations like contraction) between the PR and the main branch of ITensor. - -To run the benchmarks, you should go to the benchmark folder and activate the benchmarks project, and run the benchmarks: -```julia -julia> using ITensors - -julia> cd(joinpath(pkgdir(ITensors), "benchmark")) - -julia> using Pkg - -julia> Pkg.activate(".") - -julia> include("benchmarks.jl") - -julia> SUITE -[...] -``` -The benchmark results will be stored in the "SUITE" object. - -Then you can run the benchmark suite using the [interface from BenchmarkTools](https://juliaci.github.io/BenchmarkTools.jl/stable/manual/#Tuning-and-running-a-BenchmarkGroup). -```julia -tune!(SUITE); -results = run(SUITE; verbose=true, seconds=1) -``` - -Alternatively, you can run the benchmarks with the [BencharmkCI interface](https://github.com/tkf/BenchmarkCI.jl#running-benchmarkci-interactively=). -```julia -cd(pkgdir(ITensors)) -using BenchmarkCI -BenchmarkCI.judge() -BenchmarkCI.displayjudgement() -``` - -## Development - -If you are developing the ITensors.jl or NDTensors.jl packages, and any of the dependencies of either of those get updated, you will need to update the Manifest.toml file. - -You can do that by removing the Manifest.toml file, checking out the ITensors and NDTensors modules for development, and then create a new Manifest.toml file with `Pkg.resolve`: -```julia -julia> using ITensors - -julia> cd(joinpath(pkgdir(ITensors), "benchmark")) - -julia> rm("Manifest.toml"; force=true) - -julia> using Pkg - -julia> Pkg.activate(".") - -julia> Pkg.develop(path=joinpath("..", "NDTensors")) # Develop NDTensors - -julia> Pkg.develop(path="..") # Develop ITensors - -julia> Pkg.resolve() -``` diff --git a/benchmark/artifacts/2d_hubbard_conserve_momentum.h5 b/benchmark/artifacts/2d_hubbard_conserve_momentum.h5 deleted file mode 100644 index 4c09583a88..0000000000 Binary files a/benchmark/artifacts/2d_hubbard_conserve_momentum.h5 and /dev/null differ diff --git a/benchmark/bench_autompo.jl b/benchmark/bench_autompo.jl deleted file mode 100644 index 4a7f94374a..0000000000 --- a/benchmark/bench_autompo.jl +++ /dev/null @@ -1,41 +0,0 @@ -module BenchOpSum - -using BenchmarkTools -using ITensors -using LinearAlgebra - -BLAS.set_num_threads(1) -ITensors.Strided.set_num_threads(1) -ITensors.enable_threaded_blocksparse(false) - -suite = BenchmarkGroup() - -let N = 30 - s = siteinds("S=1/2", N; conserve_qns=false) - a = OpSum() - for k in 1:N, l in 1:N, m in 1:N, n in 1:N - a .+= "projDn", k, "projDn", l, "projDn", m, "projDn", n - end - - # Precompile - MPO(a, s) - - suite["Quartic Hamiltonian"] = @benchmarkable MPO($a, $s) -end - -let N = 30 - s = siteinds("S=1/2", N; conserve_qns=true) - a = OpSum() - for k in 1:N, l in 1:N, m in 1:N, n in 1:N - a .+= "projDn", k, "projDn", l, "projDn", m, "projDn", n - end - - # Precompile - MPO(a, s) - - suite["Quartic QN Hamiltonian"] = @benchmarkable MPO($a, $s) -end - -end - -BenchOpSum.suite diff --git a/benchmark/bench_contract.jl b/benchmark/bench_contract.jl deleted file mode 100644 index d14f574bd5..0000000000 --- a/benchmark/bench_contract.jl +++ /dev/null @@ -1,119 +0,0 @@ -module BenchContract - -using BenchmarkTools -using ITensors -using ITensors.HDF5 -using LinearAlgebra - -BLAS.set_num_threads(1) -ITensors.Strided.set_num_threads(1) -ITensors.enable_threaded_blocksparse(false) - -suite = BenchmarkGroup() - -suite["matmul"] = BenchmarkGroup() -suite["matmul"]["allocating"] = BenchmarkGroup() -suite["matmul"]["inplace"] = BenchmarkGroup() -for d in 20:20:100 - i = Index(d) - A = randomITensor(i, i') - B = randomITensor(i', i'') - C = randomITensor(i, i'') - - suite["matmul"]["allocating"]["$d"] = @benchmarkable $A * $B - suite["matmul"]["inplace"]["$d"] = @benchmarkable $C .= $A .* $B -end - -suite["heff_2site"] = BenchmarkGroup() -let - s1 = Index(2, "s1,Site") - s2 = Index(2, "s2,Site") - h1 = Index(10, "h1,Link,H") - h2 = Index(10, "h2,Link,H") - h3 = Index(10, "h3,Link,H") - a1 = Index(100, "a1,Link") - a3 = Index(100, "a3,Link") - phi = randomITensor(a1, s1, s2, a3) - H1 = randomITensor(h1, s1', s1, h2) - H2 = randomITensor(h2, s2', s2, h3) - L = randomITensor(h1, a1', a1) - R = randomITensor(h3, a3', a3) - - suite["heff_2site"]["dense"] = @benchmarkable $phi * $L * $H1 * $H2 * $R -end - -suite["heff_2site"]["blocksparse"] = BenchmarkGroup() -let - """ - Load the ground state energy `energy`, Hamiltonian MPO `H`, and ground state MPS `psi` resulting from running: - ```julia - using Pkg - Pkg.add(; name="ITensors", version="0.3.25") - - using ITensors - - filename_base = "2d_hubbard_conserve_momentum" - example_dir = joinpath(pkgdir(ITensors), "examples", "dmrg") - include(joinpath(example_dir, filename_base * ".jl")) - kwargs = (; Nx=8, Ny=4, U=4.0, t=1.0, nsweeps=10, - maxdim=3000, random_init=false, threaded_blocksparse=true) - energy, H, psi = main(; kwargs...); - - function get_effective_hamiltonian(H, psi, center=(length(psi) ÷ 2)) - psi = orthogonalize(psi, center) - PH = ProjMPO(H) - PH = position!(PH, psi, center) - v = psi[center] * psi[center + 1] - L = lproj(PH) - R = rproj(PH) - H1 = H[center] - H2 = H[center + 1] - return [v, L, H1, H2, R] - end - - tn = get_effective_hamiltonian(H, psi); - tn_fluxes = flux.(tn); - tn_inds = inds.(tn); - - using ITensors.HDF5 - file_dir = joinpath(pkgdir(ITensors), "benchmark", "artifacts") - mkpath(file_dir) - h5open(joinpath(file_dir, filename_base * ".h5"), "w") do fid - fid["ntensors"] = length(tn) - for j in eachindex(tn) - fid["flux[" * string(j) * "]"] = tn_fluxes[j] - fid["inds[" * string(j) * "]"] = tn_inds[j] - end - end - ``` - """ - file_dir = joinpath(pkgdir(ITensors), "benchmark", "artifacts") - tn = h5open(joinpath(file_dir, "2d_hubbard_conserve_momentum.h5")) do fid - ntensors = read(fid, "ntensors") - tn_fluxes = Vector{QN}(undef, ntensors) - tn_inds = Vector{Vector{Index}}(undef, ntensors) - for j in 1:ntensors - tn_fluxes[j] = read(fid, "flux[" * string(j) * "]", QN) - tn_inds[j] = read(fid, "inds[" * string(j) * "]", Vector{<:Index}) - end - tn = [randomITensor(tn_fluxes[j], tn_inds[j]) for j in 1:ntensors] - return tn - end - - # Correctness check - @assert contract([tn; dag(first(tn)')])[] isa Number - - suite["heff_2site"]["blocksparse"]["sequential"] = @benchmarkable begin - ITensors.enable_threaded_blocksparse(false) - contract($tn) - end - suite["heff_2site"]["blocksparse"]["threaded"] = @benchmarkable begin - ITensors.enable_threaded_blocksparse(true) - contract($tn) - ITensors.enable_threaded_blocksparse(false) - end -end - -end - -BenchContract.suite diff --git a/benchmark/bench_dmrg.jl b/benchmark/bench_dmrg.jl deleted file mode 100644 index 477bc30479..0000000000 --- a/benchmark/bench_dmrg.jl +++ /dev/null @@ -1,43 +0,0 @@ -module BenchDMRG - -using BenchmarkTools -using ITensors -using LinearAlgebra - -BLAS.set_num_threads(1) -ITensors.Strided.set_num_threads(1) -ITensors.enable_threaded_blocksparse(false) - -suite = BenchmarkGroup() - -suite["1d_S=1_heisenberg"] = BenchmarkGroup() -for conserve_qns in (false, true) - n = 100 - sites = siteinds("S=1", n) - opsum = OpSum() - for j in 1:(n - 1) - opsum += "Sz", j, "Sz", j + 1 - opsum += 0.5, "S+", j, "S-", j + 1 - opsum += 0.5, "S-", j, "S+", j + 1 - end - H = MPO(opsum, sites) - state = [isodd(j) ? "↑" : "↓" for j in 1:n] - psi = MPS(sites, state) - - # Sweeping parameters - nsweeps = 5 - maxdim = [10, 20, 100, 100, 200] - cutoff = 1e-10 - kwargs = (; nsweeps, cutoff, maxdim, outputlevel=0) - - # Precompile - dmrg(H, psi; kwargs...) - - suite["1d_S=1_heisenberg"]["conserve_qns_$conserve_qns"] = @benchmarkable begin - dmrg($H, $psi; $kwargs...) - end -end - -end - -BenchDMRG.suite diff --git a/benchmark/bench_getsetindex.jl b/benchmark/bench_getsetindex.jl deleted file mode 100644 index 969a1cfe72..0000000000 --- a/benchmark/bench_getsetindex.jl +++ /dev/null @@ -1,26 +0,0 @@ -module BenchGetSetIndex - -using BenchmarkTools -using ITensors -using LinearAlgebra - -BLAS.set_num_threads(1) -ITensors.Strided.set_num_threads(1) -ITensors.enable_threaded_blocksparse(false) - -suite = BenchmarkGroup() - -i = Index(100) -A = randomITensor(i', i) - -suite["setindex!"] = @benchmarkable $A[1, 1] = 1.0 -suite["setindex! end"] = @benchmarkable $A[1, end] = 1.0 -suite["setindex! indval"] = @benchmarkable $A[$(i') => 1, $i => 1] = 1.0 -suite["setindex! indval end"] = @benchmarkable $A[$(i') => 1, $i => end] = 1.0 -suite["getindex"] = @benchmarkable $A[1, 1] -suite["getindex end"] = @benchmarkable $A[1, end] -suite["getindex indval"] = @benchmarkable $A[$(i') => 1, $i => 1] -suite["getindex indval end"] = @benchmarkable $A[$(i') => 1, $i => end] -end - -BenchGetSetIndex.suite diff --git a/benchmark/bench_indexset.jl b/benchmark/bench_indexset.jl deleted file mode 100644 index 0700b43661..0000000000 --- a/benchmark/bench_indexset.jl +++ /dev/null @@ -1,62 +0,0 @@ -module BenchIndexSet - -using BenchmarkTools -using ITensors -using LinearAlgebra - -BLAS.set_num_threads(1) -ITensors.Strided.set_num_threads(1) -ITensors.enable_threaded_blocksparse(false) - -suite = BenchmarkGroup() - -i = Index(2) -is = IndexSet(n -> i^(n - 1), Order(10)) -is_tuple = ntuple(n -> i^(n - 1), Val(10)) - -suite["constructor"] = BenchmarkGroup() - -suite["constructor"]["function"] = @benchmarkable IndexSet($(n -> i^(n - 1)), $(Order(6))) -suite["constructor"]["function, tuple"] = @benchmarkable ntuple( - $(n -> i^(n - 1)), $(Val(6)) -) - -suite["filter"] = BenchmarkGroup() - -suite["filter"]["kwargs"] = @benchmarkable filter($is; plev=3) -suite["filter"]["function"] = @benchmarkable filter($(i -> plev(i) < 2), $is) -suite["filter"]["function, tuple"] = @benchmarkable filter($(i -> plev(i) < 2), $is_tuple) - -i, j, k, l = Index.(2, ("i", "j", "k", "l")) - -Iij = (i, j) -Ijl = (j, l) -Ikl = (k, l) -Iijk = (i, j, k) - -suite["set_functions"] = BenchmarkGroup() - -suite["set_functions"]["uniqueinds"] = BenchmarkGroup() -suite["set_functions"]["uniqueinds"]["nofilter2"] = @benchmarkable uniqueinds($Iijk, $Ikl) -suite["set_functions"]["uniqueinds"]["nofilter0"] = @benchmarkable uniqueinds($Iij, $Iijk) -suite["set_functions"]["uniqueinds"]["filter_tags"] = @benchmarkable uniqueinds( - $Iijk, $Ikl; tags=$(ts"i") -) -suite["set_functions"]["uniqueinds"]["filter_not_tags"] = @benchmarkable uniqueinds( - $Iijk, $Ikl; tags=$(not("i")) -) -suite["set_functions"]["uniqueinds"]["3_inputs"] = @benchmarkable uniqueinds( - $Iijk, $Ijl, $Ikl -) - -A = randomITensor(i'', i', i) - -suite["set_functions"]["prime, ITensor"] = @benchmarkable prime($A) -suite["set_functions"]["uniqueinds, ITensor"] = @benchmarkable uniqueinds($(A'), $A) -suite["set_functions"]["commoninds, ITensor"] = @benchmarkable commoninds($(A'), $A) -suite["set_functions"]["unioninds, ITensor"] = @benchmarkable unioninds($(A'), $A) -suite["set_functions"]["noncommoninds, ITensor"] = @benchmarkable noncommoninds($(A'), $A) - -end - -BenchIndexSet.suite diff --git a/benchmark/bench_inplace.jl b/benchmark/bench_inplace.jl deleted file mode 100644 index e2d6ba7119..0000000000 --- a/benchmark/bench_inplace.jl +++ /dev/null @@ -1,20 +0,0 @@ -module BenchInplace - -using BenchmarkTools -using ITensors -using LinearAlgebra - -BLAS.set_num_threads(1) -ITensors.Strided.set_num_threads(1) -ITensors.enable_threaded_blocksparse(false) - -suite = BenchmarkGroup() - -i = Index(100) -A = randomITensor(i', i) -B = randomITensor(i, i') - -suite["axpy!"] = @benchmarkable axpy!(2, $A, $B) -end - -BenchInplace.suite diff --git a/benchmark/bench_op.jl b/benchmark/bench_op.jl deleted file mode 100644 index 4e4c1e8d88..0000000000 --- a/benchmark/bench_op.jl +++ /dev/null @@ -1,25 +0,0 @@ -module BenchOp - -using BenchmarkTools -using ITensors -using LinearAlgebra - -BLAS.set_num_threads(1) -ITensors.Strided.set_num_threads(1) -ITensors.enable_threaded_blocksparse(false) - -suite = BenchmarkGroup() - -let N = 4 - s = siteinds("S=1/2", N; conserve_qns=false) - suite["op"] = @benchmarkable op("Sz", $s, 1) -end - -let N = 4 - s = siteinds("S=1/2", N; conserve_qns=true) - suite["op QN"] = @benchmarkable op("Sz", $s, 1) -end - -end - -BenchOp.suite diff --git a/benchmark/bench_tagset.jl b/benchmark/bench_tagset.jl deleted file mode 100644 index b2b04d4f92..0000000000 --- a/benchmark/bench_tagset.jl +++ /dev/null @@ -1,20 +0,0 @@ -module BenchTagSet - -using BenchmarkTools -using ITensors -using LinearAlgebra - -BLAS.set_num_threads(1) -ITensors.Strided.set_num_threads(1) -ITensors.enable_threaded_blocksparse(false) - -suite = BenchmarkGroup() - -suite["tagset"] = @benchmarkable TagSet("abcdefgh,ijklmnop,qrstuvwx,ABCDEFGH") -suite["tagset_unicode"] = @benchmarkable TagSet("αβγδϵζηθ,ijklmnop,qrstuvwx,ΑΒΓΔΕΖΗΘ") -suite["tagset_long"] = @benchmarkable TagSet( - "abcdefghijklm,nopqrstuvwxyz,ABCDEFGHIJKLM,NOPQRSTUVWXYZ" -) -end - -BenchTagSet.suite diff --git a/benchmark/benchmarks.jl b/benchmark/benchmarks.jl deleted file mode 100644 index 9a96d20bd9..0000000000 --- a/benchmark/benchmarks.jl +++ /dev/null @@ -1,9 +0,0 @@ -using BenchmarkTools - -const SUITE = BenchmarkGroup() - -for file in readdir(@__DIR__) - if startswith(file, "bench_") && endswith(file, ".jl") - SUITE[file[(length("bench_") + 1):(end - length(".jl"))]] = include(file) - end -end