Comments (12)
Hi @nicolossus Thank you for your notification. On which system are you working - Mac or Linux? Which version of python are you using?
from nest-simulator.
@steffengraber I am using a conda environment with Python 3.11 on macOS. A minimal reproducer:
conda create --name nest_conda -c conda-forge python=3.11 nest-simulator=3.6
My guess would be that the conda build is compiled without the Random123 generators
for some reason.
from nest-simulator.
Ok, I tested this under ubuntu 23.04. With this I get
>>> nest.rng_types
('Philox_32', 'Philox_64', 'Threefry_32', 'Threefry_64', 'mt19937', 'mt19937_64')
It seems that there is only a problem in the MacOS packages.
from nest-simulator.
The test for nrg.types
is now integrated in the CI. These tests run for linux_64 and osx_64, but not for osx-arm64. This allowed me to narrow down the problem to macOS with M1 chip. I do not have the possibilities to test this. Could you possibly verify this? @nicolossus
from nest-simulator.
@steffengraber I should probably have mentioned that I encountered the conda installation problem on osx-arm64 (M2 chip), so I can confirm.
However, if I build and install NEST from source on the same osx-arm64 machine, all the RNG types are included. It therefore doesn't seem like there should be a problem with Apple silicon and the Random123 generators
library (which contains the Philox
and Threefry
generators).
from nest-simulator.
if I build and install NEST from source on the same osx-arm64 machine, all the RNG types are included
Could you send me a build log of it? This could help to recognize the differences in the build process.
from nest-simulator.
@steffengraber Of course, I have sent you the build log directly.
from nest-simulator.
The problem might have something to do with cross-compiling the osx_arm64 version.
The report here on random123 :
...
-- Info: Check if Random123 generators work.
-- Info: Bad CPU type in executable
-- Info: Check if Random123 generators work. OFF
...
from nest-simulator.
@nicolossus As a test, I have now deactivated the random123 check and used this to build the package for macOS ARM.
Can you test this? Unfortunately, I have no possibility to do so and the automatic tests are not executable due to cross compiling.
To test, unzip the package and change into the directory. Then:
conda create -n my-test-env -c "file://${PWD}" -c conda-forge
conda activate my-test-env
conda install -c "file://${PWD}" nest-simulator
Instead of conda
you can also use mamba
, which offers some advantages when creating environments.
from nest-simulator.
@steffengraber Installing the osx-arm64
package from the build works, and I was able to successfully run the serial pytests from the test suite.
As I understand it, the problem is that osx-arm64
packages are currently built on conda-forge's macOS x86_64
infrastructure. There might not be a solution for the cross-compilation issue we have seen here in the near future... Should we keep this issue open as a reminder or consider the issue resolved?
from nest-simulator.
Just added a note to the documentation. With this, we can close the issue. Additionally, I have also informed conda-forge support about the issue.
from nest-simulator.
@steffengraber Building with the Random123 on osx-arm64 is an interesting idea for experimentation, but for production, your current solution of just shipping the conda package without the Random123 generators on osx-arm64 and documenting that properly is the best solution. I hope the conda-forge folks will provide native osx-arm64 builds at some point. I would not trust random numbers for them Random123 generators unless their cmake-tests have run successfully.
@nicolossus I'd suggest to close this issue now.
from nest-simulator.
Related Issues (20)
- Update README
- Add `readthedocs/actions/preview` to GHA for doc build status checks and PR previews
- Images from Sudoku and Pong examples do not render properly
- Header files not included in apt package HOT 2
- Iterating on an empty `SynapseCollection` raises `TypeError: 'NoneType' object is not iterable` HOT 1
- CI cmake configures NEST builds without readline HOT 2
- Threading docs `OMP_PLACES` unclear or wrong HOT 1
- Improve search results on Read the Docs
- Superfluous clearing of containers HOT 3
- failing spack build of [email protected] (current "ebrains version") without mpi HOT 5
- Use C++11 current_exception/rethrow_exception for exception handling in thread-parallel context HOT 2
- MAC INSTALLATION HOT 2
- Assert adds barrier HOT 2
- The reset of after-spike currents in GLIF model does not seem to conform with the original equations HOT 3
- Recording more detailed memory consumption metrics
- Xcode instructions are outdated HOT 1
- Build fails using OpenMPI 5.0.0 and MUSIC 1.2.1 HOT 2
- Issues with new model registration in NEST HOT 2
- Documentation for recording spike times is obtuse HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nest-simulator.