らんだむな記憶

blogというものを体験してみようか!的なー

cuQuantum の PyPI 版

cuquantum-python · PyPI
良かった良かった。anaconda 専用ではなくて・・・。

NVIDIAのcuQuantumのインストール by Yuichiro Minato | blueqat を参考にしてみる。cupy に依存しているので、

pip install cupy-cuda110

みたいなことをする。numpy.einsum みたいな内容だけど

>>> from cuquantum import contract
>>> from numpy.random import rand
>>> a = rand(96,64,64,96)
>>> b = rand(96,64,64)
>>> c = rand(64,96,64)
>>> r = contract("mhkn,ukh,xuy->mxny", a, b, c)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
...
  File "cupy_backends/cuda/api/runtime.pyx", line 142, in cupy_backends.cuda.api.runtime.check_status
cupy_backends.cuda.api.runtime.CUDARuntimeError: cudaErrorNoDevice: no CUDA-capable device is detected

まぁ、そりゃそうか・・・。ということで Colab を使う・・・と・・・あれ?

----> 6 r = contract("mhkn,ukh,xuy->mxny", a, b, c)
/usr/local/lib/python3.7/dist-packages/cuquantum/cutensornet/cutensornet.pyx in cuquantum.cutensornet.cutensornet.check_status()

cuTensorNetError: CUTENSORNET_STATUS_NOT_SUPPORTED

何故だ・・・。また明日だな・・・。

*****

T4 でやったらいけた。

>>> r
array([[[[47662.43422733, 51145.32644274, 46373.69019645, ...,
          46092.27716916, 49152.23156625, 44667.41951485],
         [47810.04420049, 51342.66224029, 46526.92960682, ...,
          46262.82758851, 49324.41036948, 44798.72078336],
         [47524.17537322, 51019.52291608, 46254.16945999, ...,
          45978.30799427, 49013.95729264, 44547.11139797],
         ...,
         [47704.56037718, 51211.67682827, 46415.6406052 , ...,
          46126.16591938, 49192.56136116, 44695.05595849],
         [47791.4301784 , 51310.80501965, 46507.97268301, ...,
          46204.46992134, 49283.49935268, 44757.94739354],
         [47111.84098275, 50554.09493394, 45805.16132024, ...,
          45561.60423268, 48529.60245847, 44134.50613524]],
          ...
>>> r.shape
(96, 64, 96, 64)

ほほぉ。