nengo / nengo-loihi

Run Nengo models on Intel's Loihi chip
https://www.nengo.ai/nengo-loihi/
Other
35 stars 12 forks source link

Support NxSDK 1.0.0 #317

Closed hunse closed 3 years ago

hunse commented 3 years ago

For anyone who wants to apply this in the meantime: pip install git+https://github.com/nengo/nengo-loihi.git@nxsdk100

xchoo commented 3 years ago

Note to self / others: Need to update the installation docs for NxSDK 1.0.0 before merging in this PR. https://www.nengo.ai/nengo-loihi/installation.html#inrc-superhost

adiehl96 commented 3 years ago

Using conda with python 3.8, this nengo-loihi branch and nxsdk 1.0.0, the gui will not work when using the nxsdk flag. I'm running on a cloud service I ssh into. After typing in the following command:

SLURM=1 nengo --port 8080 --no-browser --auto-shutdown 0 --backend nengo_loihi

I was greeted by the following error in the gui window:

  File "/homes/adiehl96/test/miniconda/envs/lava6/lib/python3.8/site-packages/nengo_gui/page.py", line 533, in runner
    self.sim.step()
  File "/homes/adiehl96/test/miniconda/envs/lava6/lib/python3.8/site-packages/nengo_loihi/simulator.py", line 350, in step
    self.run_steps(1)
  File "/homes/adiehl96/test/miniconda/envs/lava6/lib/python3.8/site-packages/nengo_loihi/simulator.py", line 343, in run_steps
    self._runner.run_steps(steps)
  File "/homes/adiehl96/test/miniconda/envs/lava6/lib/python3.8/site-packages/nengo_loihi/simulator.py", line 497, in loihi_precomputed_host_pre_and_host
    self.loihi.run_steps(steps, blocking=True)
  File "/homes/adiehl96/test/miniconda/envs/lava6/lib/python3.8/site-packages/nengo_loihi/hardware/interface.py", line 250, in run_steps
    assert self.connected, "Interface is not built"
AssertionError: Interface is not built

My conda environment is looking like this:

# packages in environment at /homes/adiehl96/test/miniconda/envs/lava6:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                        main  
_openmp_mutex             4.5                       1_gnu  
argon2-cffi               21.1.0                   pypi_0    pypi
attrdict                  2.0.1                    pypi_0    pypi
attrs                     21.2.0                   pypi_0    pypi
backcall                  0.2.0                    pypi_0    pypi
bitstring                 3.1.9                    pypi_0    pypi
bleach                    4.1.0                    pypi_0    pypi
ca-certificates           2021.7.5             h06a4308_1  
certifi                   2021.5.30        py38h06a4308_0  
cffi                      1.14.6                   pypi_0    pypi
coloredlogs               15.0.1                   pypi_0    pypi
cycler                    0.10.0                   pypi_0    pypi
cython                    0.29.24                  pypi_0    pypi
debugpy                   1.4.3                    pypi_0    pypi
decorator                 5.1.0                    pypi_0    pypi
defusedxml                0.7.1                    pypi_0    pypi
entrypoints               0.3                      pypi_0    pypi
et-xmlfile                1.1.0                    pypi_0    pypi
grpcio                    1.41.0                   pypi_0    pypi
grpcio-tools              1.16.1                   pypi_0    pypi
h5py                      3.4.0                    pypi_0    pypi
humanfriendly             10.0                     pypi_0    pypi
imageio                   2.9.0                    pypi_0    pypi
ipykernel                 6.4.1                    pypi_0    pypi
ipython                   7.28.0                   pypi_0    pypi
ipython-genutils          0.2.0                    pypi_0    pypi
ipywidgets                7.6.5                    pypi_0    pypi
jedi                      0.18.0                   pypi_0    pypi
jinja2                    3.0.1                    pypi_0    pypi
joblib                    1.0.1                    pypi_0    pypi
jsonschema                4.0.0                    pypi_0    pypi
jupyter                   1.0.0                    pypi_0    pypi
jupyter-client            7.0.5                    pypi_0    pypi
jupyter-console           6.4.0                    pypi_0    pypi
jupyter-core              4.8.1                    pypi_0    pypi
jupyterlab-pygments       0.1.2                    pypi_0    pypi
jupyterlab-widgets        1.0.2                    pypi_0    pypi
kiwisolver                1.3.2                    pypi_0    pypi
ld_impl_linux-64          2.35.1               h7274673_9  
libffi                    3.3                  he6710b0_2  
libgcc-ng                 9.3.0               h5101ec6_17  
libgomp                   9.3.0               h5101ec6_17  
libstdcxx-ng              9.3.0               hd4cf53a_17  
markupsafe                2.0.1                    pypi_0    pypi
matplotlib                3.4.3                    pypi_0    pypi
matplotlib-inline         0.1.3                    pypi_0    pypi
memory-profiler           0.58.0                   pypi_0    pypi
mistune                   0.8.4                    pypi_0    pypi
nbclient                  0.5.4                    pypi_0    pypi
nbconvert                 6.2.0                    pypi_0    pypi
nbformat                  5.1.3                    pypi_0    pypi
ncurses                   6.2                  he6710b0_1  
nengo                     3.1.0                    pypi_0    pypi
nengo-gui                 0.4.8                    pypi_0    pypi
nengo-loihi               1.1.0.dev0               pypi_0    pypi
nest-asyncio              1.5.1                    pypi_0    pypi
networkx                  2.6.3                    pypi_0    pypi
notebook                  6.4.4                    pypi_0    pypi
numpy                     1.21.2                   pypi_0    pypi
nxsdk                     1.0.0                    pypi_0    pypi
openpyxl                  3.0.9                    pypi_0    pypi
openssl                   1.1.1l               h7f8727e_0  
packaging                 21.0                     pypi_0    pypi
pandas                    1.3.3                    pypi_0    pypi
pandocfilters             1.5.0                    pypi_0    pypi
parso                     0.8.2                    pypi_0    pypi
pexpect                   4.8.0                    pypi_0    pypi
pickleshare               0.7.5                    pypi_0    pypi
pillow                    8.3.2                    pypi_0    pypi
pip                       21.0.1           py38h06a4308_0  
prometheus-client         0.11.0                   pypi_0    pypi
prompt-toolkit            3.0.20                   pypi_0    pypi
protobuf                  3.18.0                   pypi_0    pypi
psutil                    5.8.0                    pypi_0    pypi
ptyprocess                0.7.0                    pypi_0    pypi
pycparser                 2.20                     pypi_0    pypi
pygments                  2.10.0                   pypi_0    pypi
pyparsing                 2.4.7                    pypi_0    pypi
pyrsistent                0.18.0                   pypi_0    pypi
python                    3.8.11          h12debd9_0_cpython  
python-dateutil           2.8.2                    pypi_0    pypi
pytz                      2021.1                   pypi_0    pypi
pywavelets                1.1.1                    pypi_0    pypi
pyzmq                     22.3.0                   pypi_0    pypi
qtconsole                 5.1.1                    pypi_0    pypi
qtpy                      1.11.2                   pypi_0    pypi
readline                  8.1                  h27cfd23_0  
scikit-image              0.18.3                   pypi_0    pypi
scikit-learn              1.0                      pypi_0    pypi
scipy                     1.7.1                    pypi_0    pypi
send2trash                1.8.0                    pypi_0    pypi
setuptools                58.0.4           py38h06a4308_0  
six                       1.16.0                   pypi_0    pypi
sqlite                    3.36.0               hc218d9a_0  
terminado                 0.12.1                   pypi_0    pypi
testpath                  0.5.0                    pypi_0    pypi
threadpoolctl             2.2.0                    pypi_0    pypi
tifffile                  2021.8.30                pypi_0    pypi
tk                        8.6.11               h1ccaba5_0  
tornado                   6.1                      pypi_0    pypi
traitlets                 5.1.0                    pypi_0    pypi
wcwidth                   0.2.5                    pypi_0    pypi
webencodings              0.5.1                    pypi_0    pypi
wheel                     0.37.0             pyhd3eb1b0_1  
widgetsnbextension        3.5.1                    pypi_0    pypi
xz                        5.2.5                h7b6447c_0  
zlib                      1.2.11               h7b6447c_3  

A notebook that I created based on the tutorial available here is running just fine however, so it seems that only the gui suffers from this problem. Furthermore using the following command will work just fine as well:

SLURM=1 nengo --port 8080 --no-browser --auto-shutdown 0

Thus I'm fairly sure that the error has to do with nengo-loihi.

tbekolay commented 3 years ago

Closing this as it's tightly coupled with other work in #318 which also includes these commits.

@adiehl96 I made a new issue, #319, to investigate the NengoGUI issue.