Skip to content

Commit fb858d1

Browse files
authored
[NDTensors] Support for older versions of Julia 1.10 and 1.11 (#1623)
1 parent b5eeb94 commit fb858d1

File tree

5 files changed

+10
-9
lines changed

5 files changed

+10
-9
lines changed

NDTensors/Project.toml

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "NDTensors"
22
uuid = "23ae76d9-e61a-49c4-8f12-3f1a16adf9cf"
33
authors = ["Matthew Fishman <[email protected]>"]
4-
version = "0.4.3"
4+
version = "0.4.4"
55

66
[deps]
77
Accessors = "7d9f7c33-5ae7-4f3b-8dc6-eff91059b697"
@@ -45,13 +45,13 @@ TBLIS = "48530278-0828-4a49-9772-0f3830dfa1e9"
4545
cuTENSOR = "011b41b2-24ef-40a8-b3eb-fa098493e9e1"
4646

4747
[extensions]
48-
NDTensorsAMDGPUExt = ["AMDGPU", "GPUArraysCore", "TypeParameterAccessors"]
49-
NDTensorsCUDAExt = ["CUDA", "GPUArraysCore", "TypeParameterAccessors"]
48+
NDTensorsAMDGPUExt = ["AMDGPU", "GPUArraysCore"]
49+
NDTensorsCUDAExt = ["CUDA", "GPUArraysCore"]
5050
NDTensorsGPUArraysCoreExt = "GPUArraysCore"
5151
NDTensorsHDF5Ext = "HDF5"
5252
NDTensorsJLArraysExt = ["GPUArraysCore", "JLArrays"]
5353
NDTensorsMappedArraysExt = ["MappedArrays"]
54-
NDTensorsMetalExt = ["GPUArraysCore", "Metal", "TypeParameterAccessors"]
54+
NDTensorsMetalExt = ["GPUArraysCore", "Metal"]
5555
NDTensorsOctavianExt = "Octavian"
5656
NDTensorsTBLISExt = "TBLIS"
5757
NDTensorscuTENSORExt = "cuTENSOR"
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using AMDGPU: ROCArray
22
using NDTensors.GPUArraysCoreExtensions: storagemode
3-
using TypeParameterAccessors: TypeParameterAccessors, Position
3+
using NDTensors.TypeParameterAccessors: TypeParameterAccessors, Position
44

55
TypeParameterAccessors.position(::Type{<:ROCArray}, ::typeof(storagemode)) = Position(3)

NDTensors/ext/NDTensorsCUDAExt/set_types.jl

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
using CUDA: CuArray
22
using NDTensors.GPUArraysCoreExtensions: storagemode
3-
using TypeParameterAccessors: TypeParameterAccessors, Position
3+
using NDTensors.TypeParameterAccessors: TypeParameterAccessors, Position
44

55
function TypeParameterAccessors.position(::Type{<:CuArray}, ::typeof(storagemode))
66
return Position(3)

NDTensors/ext/NDTensorsMetalExt/set_types.jl

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
using Metal: MtlArray
22
using NDTensors.GPUArraysCoreExtensions: storagemode
3-
using TypeParameterAccessors: TypeParameterAccessors, Position
3+
using NDTensors.TypeParameterAccessors: TypeParameterAccessors, Position
44

55
function TypeParameterAccessors.position(::Type{<:MtlArray}, ::typeof(storagemode))
66
return Position(3)

docs/src/index.md

+3-2
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,9 @@ Development of ITensor is supported by the Flatiron Institute, a division of the
2929

3030
## News
3131

32-
- February 20, 2025: Please note that there are issues installing the latest version of ITensors.jl (ITensors.jl v0.8) in older versions of Julia v1.10 and v1.11, the only official releases of Julia that we support right now. Please use the latest official releases of Julia v1.10 and v1.11, which are v1.10.8 and v1.11.3 at the time this was written. See [https://julialang.org/downloads](https://julialang.org/downloads) for up-to-date information about the latest releases of Julia and recommended ways of installing Julia. Using the latests Julia releases is good practice anyway, and `juliaup` is a good way to easily stay up-to-date with the latest releases (again, see [https://julialang.org/downloads](https://julialang.org/downloads) for details).
33-
- February 3, 2025: ITensors.jl v0.8 has been released. This release should not be breaking to the average user using documented features of the library. This removes internal submodules that held experimental code for rewriting the internals of NDTensors.jl/ITensors.jl, which have now been turned into separate packages for future development. It is marked as breaking since ITensorMPS.jl was making use of some of that experimental code, and will be updated accordingly. Also note that it fixes an issue that existed in some more recent versions of NDTensors.jl v0.3/ITensors.jl v0.7 where loading ITensors.jl in combination with some packages like LinearMaps.jl caused very long load/compile times (https://itensor.discourse.group/t/linearmaps-and-itensors-incompatibility/2216), so if you are seeing that issue when using ITensors.jl v0.7 you should upgrade to this version.
32+
- February 22, 2025: Please note that there were issues installing the latest version of ITensors.jl (ITensors.jl v0.8) in older versions of Julia v1.10 and v1.11 ([https://github.com/ITensor/ITensors.jl/issues/1618](https://github.com/ITensor/ITensors.jl/issues/1618), [https://itensor.discourse.group/t/typeparameteraccessors-not-found-error-on-julia-v-1-10-0/2260](https://itensor.discourse.group/t/typeparameteraccessors-not-found-error-on-julia-v-1-10-0/2260)). This issue has been fixed in [NDTensors.jl v0.4.4](https://github.com/ITensor/ITensors.jl/pull/1623), so please try updating your packages if you are using older versions of Julia v1.10 or v1.11 and running into issues installing ITensors.jl.
33+
34+
- February 3, 2025: ITensors.jl v0.8 has been released. This release should not be breaking to the average user using documented features of the library. This removes internal submodules that held experimental code for rewriting the internals of NDTensors.jl/ITensors.jl, which have now been turned into separate packages for future development. It is marked as breaking since ITensorMPS.jl was making use of some of that experimental code, and will be updated accordingly. Also note that it fixes an issue that existed in some more recent versions of NDTensors.jl v0.3/ITensors.jl v0.7 where loading ITensors.jl in combination with some packages like LinearMaps.jl caused very long load/compile times ([https://itensor.discourse.group/t/linearmaps-and-itensors-incompatibility/2216](https://itensor.discourse.group/t/linearmaps-and-itensors-incompatibility/2216)), so if you are seeing that issue when using ITensors.jl v0.7 you should upgrade to this version.
3435

3536
- October 25, 2024: ITensors.jl v0.7 has been released. This is a major breaking change, since all of the MPS/MPO functionality from this package has been moved to [ITensorMPS.jl](https://github.com/ITensor/ITensorMPS.jl), along with all of the functionality of [ITensorTDVP.jl](https://github.com/ITensor/ITensorTDVP.jl). If you want to use MPS/MPO types and related functionality, such as `MPS`, `MPO`, `dmrg`, `siteinds`, `OpSum`, `op`, etc. you now must install and load the ITensorMPS.jl package. Additionally, if you are using ITensorTDVP.jl in your code, please change `using ITensorTDVP` to `using ITensorMPS`. ITensorMPS.jl has all of the same functionality as ITensorTDVP.jl, and ITensorTDVP.jl will be deprecated in favor of ITensorMPS.jl. **Note:** If you are using `ITensors.compile`, you must now install and load the ITensorMPS.jl package in order to trigger it to load properly, since it relies on running MPS/MPO functionality as example code for Julia to compile.
3637

0 commit comments

Comments
 (0)