-
Notifications
You must be signed in to change notification settings - Fork 119
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issue while building with oneAPI intel compilers on MacOS #1837
Comments
My fresh build on Mac: source /opt/intel/oneapi/setvars.sh
cmake .. -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc -DNRN_ENABLE_INTERVIEWS=OFF -DNRN_ENABLE_MPI=ON -DNRN_ENABLE_PYTHON=ON -DNRN_ENABLE_CORENEURON=ON -DNRN_ENABLE_RX3D:BOOL=OFF -DCORENRN_ENABLE_OPENMP=ON -DCORENRN_ENABLE_MPI=ON -DCMAKE_INSTALL_PREFIX=`pwd`/install
build_intel git:(master) ✗ cmake .. -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc -DNRN_ENABLE_INTERVIEWS=OFF -DNRN_ENABLE_MPI=ON -DNRN_ENABLE_PYTHON=ON -DNRN_ENABLE_CORENEURON=ON -DNRN_ENABLE_RX3D:BOOL=OFF -DCORENRN_ENABLE_OPENMP=ON -DCORENRN_ENABLE_MPI=ON -DCMAKE_INSTALL_PREFIX=`pwd`/install
-- The C compiler identification is Intel 2021.6.0.20220226
-- The CXX compiler identification is Intel 2021.6.0.20220226
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /opt/intel/oneapi/compiler/2022.1.0/mac/bin/intel64/icc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /opt/intel/oneapi/compiler/2022.1.0/mac/bin/intel64/icpc - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Setting build type to 'RelWithDebInfo' as none was specified.
-- 3rd party project: using Random123 from "external/Random123"
-- Found BISON: /usr/local/opt/bison/bin/bison (found version "3.8.2")
-- Found FLEX: /usr/local/opt/flex/bin/flex (found version "2.6.4")
-- Found Readline: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include
-- Found MPI_C: /usr/local/Cellar/open-mpi/4.1.2/lib/libmpi.dylib (found version "3.1")
-- Found MPI_CXX: /usr/local/Cellar/open-mpi/4.1.2/lib/libmpi.dylib (found version "3.1")
-- Found MPI: TRUE (found version "3.1")
-- Detected OpenMPI 4.1.2
-- -DPYTHON_EXECUTABLE not specified. Looking for `python3` in the PATH exclusively...
-- Setting PYTHON_EXECUTABLE=/opt/intel/oneapi/intelpython/latest/bin/python3
-- Found PythonInterp: /opt/intel/oneapi/intelpython/latest/bin/python3 (found suitable version "3.9.10", minimum required is "3.7")
-- Found PythonInterp: /opt/intel/oneapi/intelpython/latest/bin/python3 (found suitable version "3.9.10", minimum required is "3")
-- Found PythonLibs: /opt/intel/oneapi/intelpython/latest/lib/libpython3.9.dylib
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Building CoreNEURON from submodule
-- Sub-project : using coreneuron from from /Users/kumbhar/workarena/repos/bbp/nrn/external/coreneuron
-- Found HpcCodingConv: /Users/kumbhar/workarena/repos/bbp/nrn/external/coreneuron/CMake/hpc-coding-conventions
-- CORENRN_FORMATTING: OFF
-- CORENRN_TEST_FORMATTING: OFF
-- CORENRN_CLANG_FORMAT: OFF
-- CORENRN_CMAKE_FORMAT: OFF
-- CORENRN_GIT_HOOKS: OFF
-- CORENRN_GIT_COMMIT_HOOKS:
-- CORENRN_GIT_PUSH_HOOKS: courtesy-msg
-- CORENRN_STATIC_ANALYSIS: OFF
-- CORENRN_TEST_STATIC_ANALYSIS: OFF
-- Found Random123: /Users/kumbhar/workarena/repos/bbp/nrn/external/coreneuron/external/Random123
-- Found CLI11: /Users/kumbhar/workarena/repos/bbp/nrn/external/coreneuron/external/CLI11
-- Found Git: /usr/bin/git (found version "2.32.0 (Apple Git-132)")
-- Found Doxygen: /usr/local/bin/doxygen (found version "1.9.3") found components: doxygen missing components: dot
-- Found PythonInterp: /opt/intel/oneapi/intelpython/latest/bin/python3 (found version "3.9.10")
-- Found Perl: /usr/bin/perl (found version "5.30.3")
-- Found MOD2C: /Users/kumbhar/workarena/repos/bbp/nrn/external/coreneuron/external/mod2c
-- Using mod2c submodule from /Users/kumbhar/workarena/repos/bbp/nrn/external/coreneuron/external/mod2c
-- mod2c is used as APPLICATION_NAME
--
-- Configured CoreNEURON 8.2.0
--
-- You can now build CoreNEURON using:
-- cmake --build . --parallel 8 [--target TARGET]
-- You might want to adjust the number of parallel build jobs for your system.
-- Some non-default targets you might want to build:
-- --------------------+--------------------------------------------------------
-- Target | Description
-- --------------------+--------------------------------------------------------
-- install | Will install CoreNEURON to: /Users/kumbhar/workarena/repos/bbp/nrn/build_intel/install
-- docs | Build full docs. Calls targets: doxygen, sphinx
-- --------------------+--------------------------------------------------------
-- Build option | Status
-- --------------------+--------------------------------------------------------
-- CXX COMPILER | /opt/intel/oneapi/compiler/2022.1.0/mac/bin/intel64/icpc
-- COMPILE FLAGS | -qopenmp -Wno-unknown-pragmas -g -O2 -std=c++14
-- Build Type | SHARED
-- MPI | ON
-- DYNAMIC | OFF
-- INC | /usr/local/Cellar/open-mpi/4.1.2/include
-- OpenMP | ON
-- Use legacy units | OFF
-- NMODL | OFF
-- MOD2CPP PATH | /Users/kumbhar/workarena/repos/bbp/nrn/build_intel/bin/mod2c_core
-- GPU Support | OFF
-- Auto Timeout | ON
-- Wrap exp() | OFF
-- SplayTree Queue | ON
-- NetReceive Buffer | ON
-- Caliper | OFF
-- Likwid | OFF
-- Unit Tests | OFF
-- Reporting | OFF
-- --------------+--------------------------------------------------------------
-- See documentation : https://github.com/BlueBrain/CoreNeuron/
-- --------------+--------------------------------------------------------------
--
Extracting link flags from target 'Threads::Threads', beware that this can be fragile. Got:
Generating link flags from path /opt/intel/oneapi/intelpython/latest/lib/libpython3.9.dylib Got: /opt/intel/oneapi/intelpython/latest/lib/libpython3.9.dylib -Wl,-rpath,/opt/intel/oneapi/intelpython/latest/lib
Generating link flags from path /usr/local/Cellar/open-mpi/4.1.2/lib/libmpi.dylib Got: /usr/local/Cellar/open-mpi/4.1.2/lib/libmpi.dylib -Wl,-rpath,/usr/local/Cellar/open-mpi/4.1.2/lib
--
-- Configured NEURON 8.2.0
--
-- You can now build NEURON using:
-- cmake --build . --parallel 8 [--target TARGET]
-- You might want to adjust the number of parallel build jobs for your system.
-- Some non-default targets you might want to build:
-- --------------+--------------------------------------------------------------
-- Target | Description
-- --------------+--------------------------------------------------------------
-- install | Will install NEURON to: /Users/kumbhar/workarena/repos/bbp/nrn/build_intel/install
-- | Change the install location of NEURON using:
-- | cmake <src_path> -DCMAKE_INSTALL_PREFIX=<install_path>
-- docs | Build full docs. Calls targets: doxygen, notebooks, sphinx, notebooks-clean
-- uninstall | Removes files installed by make install (todo)
-- --------------+--------------------------------------------------------------
-- Build option | Status
-- --------------+--------------------------------------------------------------
-- C COMPILER | /opt/intel/oneapi/compiler/2022.1.0/mac/bin/intel64/icc
-- CXX COMPILER | /opt/intel/oneapi/compiler/2022.1.0/mac/bin/intel64/icpc
-- BUILD_TYPE | RelWithDebInfo (allowed: Custom;Debug;Release;RelWithDebInfo;Fast)
-- COMPILE FLAGS | -g -O2
-- Shared | ON
-- Default units | modern units (2019 nist constants)
-- MPI | ON
-- DYNAMIC | OFF
-- INC | /usr/local/Cellar/open-mpi/4.1.2/include
-- LIB | /usr/local/Cellar/open-mpi/4.1.2/lib/libmpi.dylib
-- Python | ON
-- EXE | /opt/intel/oneapi/intelpython/latest/bin/python3
-- INC | /opt/intel/oneapi/intelpython/latest/include/python3.9
-- LIB | /opt/intel/oneapi/intelpython/latest/lib/libpython3.9.dylib
-- MODULE | ON
-- DYNAMIC | OFF
-- Readline | /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/lib/libreadline.tbd
-- Curses | /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/lib/libcurses.tbd;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/lib/libform.tbd
-- RX3D | OFF
-- Interviews | OFF
-- CoreNEURON | ON
-- PATH | /Users/kumbhar/workarena/repos/bbp/nrn/external/coreneuron
-- LINK FLAGS | -Lx86_64 -lcorenrnmech
-- Legacy Units| OFF
-- Tests | OFF
-- --------------+--------------------------------------------------------------
-- See documentation : https://www.neuron.yale.edu/neuron/
-- --------------+--------------------------------------------------------------
--
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/kumbhar/workarena/repos/bbp/nrn/build_intel Able to build: make -j4 But during install ...
-- Up-to-date: /Users/kumbhar/workarena/repos/bbp/nrn/build_intel/install/include/cspmatrix.h
"install" of folder "build_intel" of folder "nrn" of folder "bbp" of folder "repos" of folder "workarena" of folder "kumbhar" of folder "Users"
folder bin of folder install of folder build_intel of folder nrn of folder bbp of folder repos of folder workarena of folder kumbhar of folder Users of startup disk
/usr/bin/xcrun
/Users/kumbhar/workarena/repos/bbp/nrn/build_intel/install/share/nrn/demo/release
Mod files: "./cabpump.mod" "./cachan1.mod" "./camchan.mod" "./capump.mod" "./invlfire.mod" "./khhchan.mod" "./mcna.mod" "./nacaex.mod" "./nachan.mod" "./release.mod"
Creating 'x86_64' directory for .o files.
-> Compiling mod_func.cpp
-> NMODL ../cabpump.mod
-> NMODL ../cachan1.mod
-> NMODL ../camchan.mod
Translating camchan.mod into /Users/kumbhar/workarena/repos/bbp/nrn/build_intel/install/share/nrn/demo/release/x86_64/camchan.c
Translating cabpump.mod into /Users/kumbhar/workarena/repos/bbp/nrn/build_intel/install/share/nrn/demo/release/x86_64/cabpump.c
Translating cachan1.mod into /Users/kumbhar/workarena/repos/bbp/nrn/build_intel/install/share/nrn/demo/release/x86_64/cachan1.c
Thread Safe
Notice: Assignment to the GLOBAL variable, "vol", is not thread safe
Thread Safe
-> NMODL ../capump.mod
-> NMODL ../invlfire.mod
-> NMODL ../khhchan.mod
Translating capump.mod into /Users/kumbhar/workarena/repos/bbp/nrn/build_intel/install/share/nrn/demo/release/x86_64/capump.c
Translating invlfire.mod into /Users/kumbhar/workarena/repos/bbp/nrn/build_intel/install/share/nrn/demo/release/x86_64/invlfire.c
Thread Safe
Thread Safe
Translating khhchan.mod into /Users/kumbhar/workarena/repos/bbp/nrn/build_intel/install/share/nrn/demo/release/x86_64/khhchan.c
-> NMODL ../mcna.mod
Thread Safe
-> NMODL ../nacaex.mod
-> NMODL ../nachan.mod
Translating mcna.mod into /Users/kumbhar/workarena/repos/bbp/nrn/build_intel/install/share/nrn/demo/release/x86_64/mcna.c
Translating nacaex.mod into /Users/kumbhar/workarena/repos/bbp/nrn/build_intel/install/share/nrn/demo/release/x86_64/nacaex.c
Thread Safe
Thread Safe
Translating nachan.mod into /Users/kumbhar/workarena/repos/bbp/nrn/build_intel/install/share/nrn/demo/release/x86_64/nachan.c
-> NMODL ../release.mod
-> Compiling cabpump.c
Thread Safe
-> Compiling cachan1.c
Translating release.mod into /Users/kumbhar/workarena/repos/bbp/nrn/build_intel/install/share/nrn/demo/release/x86_64/release.c
Thread Safe
-> Compiling camchan.c
-> Compiling capump.c
-> Compiling invlfire.c
-> Compiling khhchan.c
-> Compiling mcna.c
-> Compiling nacaex.c
-> Compiling nachan.c
-> Compiling release.c
=> LINKING shared library ./libnrnmech.dylib
ld: warning: dylib (/usr/local/Cellar/open-mpi/4.1.2/lib/libmpi.dylib) was built for newer macOS version (11.0) than being linked (10.16)
=> LINKING executable ./special LDFLAGS are: /opt/intel/oneapi/intelpython/latest/lib/libpython3.9.dylib -Wl,-rpath,/opt/intel/oneapi/intelpython/latest/lib /usr/local/Cellar/open-mpi/4.1.2/lib/libmpi.dylib -Wl,-rpath,/usr/local/Cellar/open-mpi/4.1.2/lib
ld: warning: dylib (/usr/local/Cellar/open-mpi/4.1.2/lib/libmpi.dylib) was built for newer macOS version (11.0) than being linked (10.16)
Successfully created x86_64/special
NEURON -- VERSION 8.2.dev-54-gfe112466a+ master (fe112466a+) 2022-05-25
Duke, Yale, and the BlueBrain Project -- Copyright 1984-2021
See http://neuron.yale.edu/neuron/credits
Additional mechanisms from files
"cabpump.mod" "cachan1.mod" "camchan.mod" "capump.mod" "invlfire.mod" "khhchan.mod" "mcna.mod" "nacaex.mod" "nachan.mod" "release.mod"
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Python path configuration:
PYTHONHOME = (not set)
PYTHONPATH = (not set)
program name = 'python3'
isolated = 0
environment = 1
user site = 1
import site = 1
sys._base_executable = '/Users/kumbhar/workarena/repos/bbp/nrn/build_intel/install/bin/nrniv'
sys.base_prefix = '/Volumes/localdisk/tools/tc/agent2/work/56d3ce06345d4f8e/base/conda-bld/python_1646222006778/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place'
sys.base_exec_prefix = '/Volumes/localdisk/tools/tc/agent2/work/56d3ce06345d4f8e/base/conda-bld/python_1646222006778/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place'
sys.platlibdir = 'lib'
sys.executable = '/Users/kumbhar/workarena/repos/bbp/nrn/build_intel/install/bin/nrniv'
sys.prefix = '/Volumes/localdisk/tools/tc/agent2/work/56d3ce06345d4f8e/base/conda-bld/python_1646222006778/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place'
sys.exec_prefix = '/Volumes/localdisk/tools/tc/agent2/work/56d3ce06345d4f8e/base/conda-bld/python_1646222006778/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place'
sys.path = [
'/Volumes/localdisk/tools/tc/agent2/work/56d3ce06345d4f8e/base/conda-bld/python_1646222006778/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/python39.zip',
'/Volumes/localdisk/tools/tc/agent2/work/56d3ce06345d4f8e/base/conda-bld/python_1646222006778/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/python3.9',
'/Volumes/localdisk/tools/tc/agent2/work/56d3ce06345d4f8e/base/conda-bld/python_1646222006778/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place/lib/lib-dynload',
]
Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
Python runtime state: core initialized
ModuleNotFoundError: No module named 'encodings'
Current thread 0x0000000119105600 (most recent call first):
<no Python frame> Setting PYTHONPATH $ PYTHONHOME=/opt/intel/oneapi/intelpython/python3.9 make install
...
-> Compiling nachan.c
-> Compiling release.c
=> LINKING shared library ./libnrnmech.dylib
ld: warning: dylib (/usr/local/Cellar/open-mpi/4.1.2/lib/libmpi.dylib) was built for newer macOS version (11.0) than being linked (10.16)
=> LINKING executable ./special LDFLAGS are: /opt/intel/oneapi/intelpython/latest/lib/libpython3.9.dylib -Wl,-rpath,/opt/intel/oneapi/intelpython/latest/lib /usr/local/Cellar/open-mpi/4.1.2/lib/libmpi.dylib -Wl,-rpath,/usr/local/Cellar/open-mpi/4.1.2/lib
ld: warning: dylib (/usr/local/Cellar/open-mpi/4.1.2/lib/libmpi.dylib) was built for newer macOS version (11.0) than being linked (10.16)
Successfully created x86_64/special
NEURON -- VERSION 8.2.dev-54-gfe112466a+ master (fe112466a+) 2022-05-25
Duke, Yale, and the BlueBrain Project -- Copyright 1984-2021
See http://neuron.yale.edu/neuron/credits
Additional mechanisms from files
"cabpump.mod" "cachan1.mod" "camchan.mod" "capump.mod" "invlfire.mod" "khhchan.mod" "mcna.mod" "nacaex.mod" "nachan.mod" "release.mod"
$ echo $?
0 Trying to do simple import: $ build_intel git:(master) ✗ PYTHONHOME=/opt/intel/oneapi/intelpython/python3.9 PATH=`pwd`/install/bin:$PATH PYTHONPATH=`pwd`/install/lib/python/:$PYTHONPATH nrniv -python
NEURON -- VERSION 8.2.dev-54-gfe112466a+ master (fe112466a+) 2022-05-25
Duke, Yale, and the BlueBrain Project -- Copyright 1984-2021
See http://neuron.yale.edu/neuron/credits
>>> from neuron import h
>>> import neuron
>>> When we run tests ➜ build_intel git:(master) ✗ PYTHONHOME=/opt/intel/oneapi/intelpython/python3.9 PATH=`pwd`/install/bin:$PATH PYTHONPATH=`pwd`/install/lib/python/:$PYTHONPATH nrniv -python
NEURON -- VERSION 8.2.dev-54-gfe112466a+ master (fe112466a+) 2022-05-25
Duke, Yale, and the BlueBrain Project -- Copyright 1984-2021
See http://neuron.yale.edu/neuron/credits
>>> import neuron; neuron.test()
testBytesize (neuron.tests.test_vector.VectorTestCase)
Test that Vector.__array_interface__ returns the proper bytesize (of a double) ... ok
testEndian (neuron.tests.test_vector.VectorTestCase)
Test that Vector.__array_interface__ returns the proper byteorder (endian) ... ok
testNumpyInteraction (neuron.tests.test_vector.VectorTestCase)
Testing numpy.array <=> hoc.Vector interaction ... ok
testPerformance (neuron.tests.test_vector.VectorTestCase)
Test performance of Vector<->list,array ...
Executed "l = range(1000000)". Elapsed = 0.000020 s
Executed "v = h.Vector(l)". Elapsed = 0.077634 s
inplace:
Executed "v.from_python(l)". Elapsed = 0.076137 s
Executed "a = numpy.array(v)". Elapsed = 0.001575 s
inplace:
Executed "v.to_python(a)". Elapsed = 0.000898 s
Executed "v2 = h.Vector(a)". Elapsed = 0.002758 s
inplace:
Executed "v2.from_python(a)". Elapsed = 0.000986 s
Executed "l2 = list(v2)". Elapsed = 0.031573 s
inplace:
Executed "v.to_python(l2)". Elapsed = 0.007077 s
Executed "v2 = h.Vector(a[::-1])". Elapsed = 0.001552 s
Executed "a2 = numpy.array(v2)". Elapsed = 0.001326 s
ok
testABI (neuron.tests.test_neuron.NeuronTestCase)
Test use of some Py_LIMITED_API for python3. ... ok
testExtendedSection (neuron.tests.test_neuron.NeuronTestCase) ... NEURON -- VERSION 8.2.dev-54-gfe112466a+ master (fe112466a+) 2022-05-25
Duke, Yale, and the BlueBrain Project -- Copyright 1984-2021
See http://neuron.yale.edu/neuron/credits
NEURON -- VERSION 8.2.dev-54-gfe112466a+ master (fe112466a+) 2022-05-25
Duke, Yale, and the BlueBrain Project -- Copyright 1984-2021
See http://neuron.yale.edu/neuron/credits
/Users/kumbhar/workarena/repos/bbp/nrn/build_intel/install/bin/nrniv: syntax error
near line 1
from multiprocessing.resource_tracker import main;main(4)
^
/Users/kumbhar/workarena/repos/bbp/nrn/build_intel/install/bin/nrniv: arg not valid statement: from multiprocessing.resource_tracker import main;main(4)
near line 0
^
/Users/kumbhar/workarena/repos/bbp/nrn/build_intel/install/bin/nrniv: syntax error
near line 1
from multiprocessing.spawn import spawn_main; spawn_main(tracker_fd=5, pipe_handle=7)
^
/Users/kumbhar/workarena/repos/bbp/nrn/build_intel/install/bin/nrniv: arg not valid statement: from multiprocessing.spawn import spawn_main; spawn_main(tracker_fd=5, pipe_handle=7)
near line 0
^
0 /Users/kumbhar/workarena/repos/bbp/nrn/build_intel/install/bin/nrniv: can't open --multiprocessing-fork
ok
testHClass (neuron.tests.test_neuron.NeuronTestCase)
Test subclass of hoc class. ... ok
testHelp (neuron.tests.test_neuron.NeuronTestCase) ... Syntax:
.. code-block::
python
h.xpanel('name')
h.xpanel('name', [0-1])
h.xpanel()
h.xpanel(x, y)
h.xpanel(scroll)
h.xpanel(scroll, x, y)
Description:
``h.xpanel("name")``
``h.xpanel("name", [0-1])``
Title of a new panel. Every
button, menu, and value between this and a closing ``xpanel()`` command
with no arguments (or placement args) belongs to this panel.
If the form is used with a second argument equal to 1, then
the panel is laid out horizontally. Otherwise the default is vertically.
``h.xpanel()``
``h.xpanel(x, y)``
done constructing the panel. so map it to the screen with position
optionally specified.
``h.xpanel(scroll)``
``h.xpanel(scroll, x, y)``
as above but if the first arg is a number, then the value determines
whether the panel will be inside a scrollbox. Scroll = 0 means a scrollbox
will NOT be used. Scroll = 1 means the panel will be inside a scrollbox.
Scroll = -1 is the default value and whether or not a scrollbox is used
is determined by the number of panel items in comparison with the
value of the panel_scroll property in the nrn.defaults file.
ok
testIterators (neuron.tests.test_neuron.NeuronTestCase)
Test section, segment, mechanism, rangevar iterators. ... ok
testRxDexistence (neuron.tests.test_neuron.NeuronTestCase) ... writing to a broken pipe
/opt/intel/oneapi/intelpython/python3.9/lib/python3.9/multiprocessing/resource_tracker.py:96: UserWarning: resource_tracker: process died unexpectedly, relaunching. Some resources might leak.
warnings.warn('resource_tracker: process died unexpectedly, '
NEURON -- VERSION 8.2.dev-54-gfe112466a+ master (fe112466a+) 2022-05-25
Duke, Yale, and the BlueBrain Project -- Copyright 1984-2021
See http://neuron.yale.edu/neuron/credits
NEURON -- VERSION 8.2.dev-54-gfe112466a+ master (fe112466a+) 2022-05-25
Duke, Yale, and the BlueBrain Project -- Copyright 1984-2021
See http://neuron.yale.edu/neuron/credits
/Users/kumbhar/workarena/repos/bbp/nrn/build_intel/install/bin/nrniv: syntax error
near line 1
from multiprocessing.resource_tracker import main;main(4)
^
/Users/kumbhar/workarena/repos/bbp/nrn/build_intel/install/bin/nrniv: arg not valid statement: from multiprocessing.resource_tracker import main;main(4)
near line 0
^
/Users/kumbhar/workarena/repos/bbp/nrn/build_intel/install/bin/nrniv: syntax error
near line 1
from multiprocessing.spawn import spawn_main; spawn_main(tracker_fd=5, pipe_handle=7)
^
/Users/kumbhar/workarena/repos/bbp/nrn/build_intel/install/bin/nrniv: arg not valid statement: from multiprocessing.spawn import spawn_main; spawn_main(tracker_fd=5, pipe_handle=7)
near line 0
^
0 /Users/kumbhar/workarena/repos/bbp/nrn/build_intel/install/bin/nrniv: can't open --multiprocessing-fork
ok
testSectionArgOrder (neuron.tests.test_neuron.NeuronTestCase)
First optional arg for Section is name (but name="name" is recommended) ... ok
testSectionCell (neuron.tests.test_neuron.NeuronTestCase)
Section.cell() internally referenced as weakref. ... ok
testSectionListIterator (neuron.tests.test_neuron.NeuronTestCase)
As of v8.0, iteration over a SectionList does not change the cas ... ok
test_newobj_err (neuron.tests.test_neuron.NeuronTestCase)
Test deletion of incompletely constructed objects ...
nrniv: generate an error
near line 1
ob = new NewObj(1, 2)
^
NewObj[4].execerror("generate a...")
NewObj[4].init(0, 2)
NewObj[3].init(1, 2)
NewObj[2].execute1("ob = new N...", NewObj[2])
and others
#NewObj and #Foo in existence 3 6
after del a #NewObj and #Foo in existence 0 0
ok
testpsection (neuron.tests.test_neuron.NeuronTestCase) ... writing to a broken pipe
NEURON -- VERSION 8.2.dev-54-gfe112466a+ master (fe112466a+) 2022-05-25
Duke, Yale, and the BlueBrain Project -- Copyright 1984-2021
See http://neuron.yale.edu/neuron/credits
NEURON -- VERSION 8.2.dev-54-gfe112466a+ master (fe112466a+) 2022-05-25
Duke, Yale, and the BlueBrain Project -- Copyright 1984-2021
See http://neuron.yale.edu/neuron/credits
/Users/kumbhar/workarena/repos/bbp/nrn/build_intel/install/bin/nrniv: syntax error
near line 1
from multiprocessing.resource_tracker import main;main(4)
^
/Users/kumbhar/workarena/repos/bbp/nrn/build_intel/install/bin/nrniv: arg not valid statement: from multiprocessing.resource_tracker import main;main(4)
near line 0
^
/Users/kumbhar/workarena/repos/bbp/nrn/build_intel/install/bin/nrniv: syntax error
near line 1
from multiprocessing.spawn import spawn_main; spawn_main(tracker_fd=5, pipe_handle=7)
^
/Users/kumbhar/workarena/repos/bbp/nrn/build_intel/install/bin/nrniv: arg not valid statement: from multiprocessing.spawn import spawn_main; spawn_main(tracker_fd=5, pipe_handle=7)
near line 0
^
0 /Users/kumbhar/workarena/repos/bbp/nrn/build_intel/install/bin/nrniv: can't open --multiprocessing-fork
ok
----------------------------------------------------------------------
Ran 15 tests in 1.473s
OK
True
>>> But starting python3 gives segfault: $ build_intel git:(master) ✗ PYTHONHOME=/opt/intel/oneapi/intelpython/python3.9 PATH=`pwd`/install/bin:$PATH PYTHONPATH=`pwd`/install/lib/python/:$PYTHONPATH python3
Python 3.9.10 (main, Mar 2 2022, 06:01:01)
[Clang 10.0.0 ] :: Intel Corporation on darwin
Type "help", "copyright", "credits" or "license" for more information.
Intel(R) Distribution for Python is brought to you by Intel Corporation.
Please check out: https://software.intel.com/en-us/python-distribution
>>> import neuron
[1] 82555 segmentation fault PYTHONHOME=/opt/intel/oneapi/intelpython/python3.9 PATH= PYTHONPATH= python3 |
Using Non-Intel PythonThe easiest "solution / workaround" still seems to be avoid Intel Python. Using system python ( $ cmake .. -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc -DNRN_ENABLE_INTERVIEWS=OFF -DNRN_ENABLE_MPI=ON -DNRN_ENABLE_PYTHON=ON -DNRN_ENABLE_CORENEURON=ON -DNRN_ENABLE_RX3D:BOOL=ON -DCORENRN_ENABLE_OPENMP=ON -DCORENRN_ENABLE_MPI=ON -DCMAKE_INSTALL_PREFIX=`pwd`/install -DPYTHON_EXECUTABLE=/Library/Frameworks/Python.framework/Versions/3.9/bin/python3
....
cmake .. -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc -DNRN_ENABLE_INTERVIEWS=OFF -DNRN_ENABLE_MPI=ON -DNRN_ENABLE_PYTHON=ON -DNRN_ENABLE_CORENEURON=ON -DNRN_ENABLE_RX3D:BOOL=ON -DCORENRN_ENABLE_OPENMP=ON -DCORENRN_ENABLE_MPI=ON -DCMAKE_INSTALL_PREFIX=`pwd`/install -DPYTHON_EXECUTABLE=/Library/Frameworks/Python.framework/Versions/3.9/bin/python3
-- 3rd party project: using Random123 from "external/Random123"
-- Found PythonInterp: /Library/Frameworks/Python.framework/Versions/3.9/bin/python3 (found version "3.9.10")
-- Detected OpenMPI 4.1.2
-- Found PythonInterp: /Library/Frameworks/Python.framework/Versions/3.9/bin/python3 (found suitable version "3.9.10", minimum required is "3.7")
-- Found PythonInterp: /Library/Frameworks/Python.framework/Versions/3.9/bin/python3 (found suitable version "3.9.10", minimum required is "3")
-- Found PythonLibs: /Library/Frameworks/Python.framework/Versions/3.9/lib/libpython3.9.dylib
-- Building CoreNEURON from submodule
-- Sub-project : using coreneuron from from /Users/kumbhar/workarena/repos/bbp/nrn/external/coreneuron
-- CORENRN_FORMATTING: OFF
-- CORENRN_TEST_FORMATTING: OFF
-- CORENRN_CLANG_FORMAT: OFF
-- CORENRN_CMAKE_FORMAT: OFF
-- CORENRN_GIT_HOOKS: OFF
-- CORENRN_GIT_COMMIT_HOOKS:
-- CORENRN_GIT_PUSH_HOOKS: courtesy-msg
-- CORENRN_STATIC_ANALYSIS: OFF
-- CORENRN_TEST_STATIC_ANALYSIS: OFF
-- Found PythonInterp: /Library/Frameworks/Python.framework/Versions/3.9/bin/python3 (found version "3.9.10")
-- Using mod2c submodule from /Users/kumbhar/workarena/repos/bbp/nrn/external/coreneuron/external/mod2c
-- mod2c is used as APPLICATION_NAME
--
-- Configured CoreNEURON 8.2.0
--
-- You can now build CoreNEURON using:
-- cmake --build . --parallel 8 [--target TARGET]
-- You might want to adjust the number of parallel build jobs for your system.
-- Some non-default targets you might want to build:
-- --------------------+--------------------------------------------------------
-- Target | Description
-- --------------------+--------------------------------------------------------
-- install | Will install CoreNEURON to: /Users/kumbhar/workarena/repos/bbp/nrn/build_intel_system_python/install
-- docs | Build full docs. Calls targets: doxygen, sphinx
-- --------------------+--------------------------------------------------------
-- Build option | Status
-- --------------------+--------------------------------------------------------
-- CXX COMPILER | /opt/intel/oneapi/compiler/2022.1.0/mac/bin/intel64/icpc
-- COMPILE FLAGS | -qopenmp -Wno-unknown-pragmas -g -O2 -std=c++14
-- Build Type | SHARED
-- MPI | ON
-- DYNAMIC | OFF
-- INC | /usr/local/Cellar/open-mpi/4.1.2/include
-- OpenMP | ON
-- Use legacy units | OFF
-- NMODL | OFF
-- MOD2CPP PATH | /Users/kumbhar/workarena/repos/bbp/nrn/build_intel_system_python/bin/mod2c_core
-- GPU Support | OFF
-- Auto Timeout | ON
-- Wrap exp() | OFF
-- SplayTree Queue | ON
-- NetReceive Buffer | ON
-- Caliper | OFF
-- Likwid | OFF
-- Unit Tests | OFF
-- Reporting | OFF
-- --------------+--------------------------------------------------------------
-- See documentation : https://github.com/BlueBrain/CoreNeuron/
-- --------------+--------------------------------------------------------------
--
Extracting link flags from target 'Threads::Threads', beware that this can be fragile. Got:
Generating link flags from path /Library/Frameworks/Python.framework/Versions/3.9/lib/libpython3.9.dylib Got: /Library/Frameworks/Python.framework/Versions/3.9/lib/libpython3.9.dylib -Wl,-rpath,/Library/Frameworks/Python.framework/Versions/3.9/lib
Generating link flags from path /usr/local/Cellar/open-mpi/4.1.2/lib/libmpi.dylib Got: /usr/local/Cellar/open-mpi/4.1.2/lib/libmpi.dylib -Wl,-rpath,/usr/local/Cellar/open-mpi/4.1.2/lib
--
-- Configured NEURON 8.2.0
--
-- You can now build NEURON using:
-- cmake --build . --parallel 8 [--target TARGET]
-- You might want to adjust the number of parallel build jobs for your system.
-- Some non-default targets you might want to build:
-- --------------+--------------------------------------------------------------
-- Target | Description
-- --------------+--------------------------------------------------------------
-- install | Will install NEURON to: /Users/kumbhar/workarena/repos/bbp/nrn/build_intel_system_python/install
-- | Change the install location of NEURON using:
-- | cmake <src_path> -DCMAKE_INSTALL_PREFIX=<install_path>
-- docs | Build full docs. Calls targets: doxygen, notebooks, sphinx, notebooks-clean
-- uninstall | Removes files installed by make install (todo)
-- --------------+--------------------------------------------------------------
-- Build option | Status
-- --------------+--------------------------------------------------------------
-- C COMPILER | /opt/intel/oneapi/compiler/2022.1.0/mac/bin/intel64/icc
-- CXX COMPILER | /opt/intel/oneapi/compiler/2022.1.0/mac/bin/intel64/icpc
-- BUILD_TYPE | RelWithDebInfo (allowed: Custom;Debug;Release;RelWithDebInfo;Fast)
-- COMPILE FLAGS | -g -O2
-- Shared | ON
-- Default units | modern units (2019 nist constants)
-- MPI | ON
-- DYNAMIC | OFF
-- INC | /usr/local/Cellar/open-mpi/4.1.2/include
-- LIB | /usr/local/Cellar/open-mpi/4.1.2/lib/libmpi.dylib
-- Python | ON
-- EXE | /Library/Frameworks/Python.framework/Versions/3.9/bin/python3
-- INC | /Library/Frameworks/Python.framework/Versions/3.9/include/python3.9
-- LIB | /Library/Frameworks/Python.framework/Versions/3.9/lib/libpython3.9.dylib
-- MODULE | ON
-- DYNAMIC | OFF
-- Readline | /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/lib/libreadline.tbd
-- Curses | /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/lib/libcurses.tbd;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/lib/libform.tbd
-- RX3D | ON
-- OptLevel | 0
-- Interviews | OFF
-- CoreNEURON | ON
-- PATH | /Users/kumbhar/workarena/repos/bbp/nrn/external/coreneuron
-- LINK FLAGS | -Lx86_64 -lcorenrnmech
-- Legacy Units| OFF
-- Tests | OFF
-- --------------+--------------------------------------------------------------
-- See documentation : https://www.neuron.yale.edu/neuron/
-- --------------+--------------------------------------------------------------
--
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/kumbhar/workarena/repos/bbp/nrn/build_intel_system_python And then tests are running fine: PATH=`pwd`/install/bin:$PATH PYTHONPATH=`pwd`/install/lib/python/:$PYTHONPATH /Library/Frameworks/Python.framework/Versions/3.9/bin/python3
Python 3.9.10 (v3.9.10:f2f3f53782, Jan 13 2022, 17:02:14)
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import neuron
>>> neuron.test()
testBytesize (neuron.tests.test_vector.VectorTestCase)
Test that Vector.__array_interface__ returns the proper bytesize (of a double) ... ok
testEndian (neuron.tests.test_vector.VectorTestCase)
Test that Vector.__array_interface__ returns the proper byteorder (endian) ... ok
testNumpyInteraction (neuron.tests.test_vector.VectorTestCase)
Testing numpy.array <=> hoc.Vector interaction ... ok
testPerformance (neuron.tests.test_vector.VectorTestCase)
Test performance of Vector<->list,array ...
Executed "l = range(1000000)". Elapsed = 0.000029 s
Executed "v = h.Vector(l)". Elapsed = 0.104567 s
inplace:
Executed "v.from_python(l)". Elapsed = 0.104126 s
Executed "a = numpy.array(v)". Elapsed = 0.001625 s
inplace:
Executed "v.to_python(a)". Elapsed = 0.000884 s
Executed "v2 = h.Vector(a)". Elapsed = 0.002167 s
inplace:
Executed "v2.from_python(a)". Elapsed = 0.000883 s
Executed "l2 = list(v2)". Elapsed = 0.039135 s
inplace:
Executed "v.to_python(l2)". Elapsed = 0.009722 s
Executed "v2 = h.Vector(a[::-1])". Elapsed = 0.002123 s
Executed "a2 = numpy.array(v2)". Elapsed = 0.001504 s
ok
testABI (neuron.tests.test_neuron.NeuronTestCase)
Test use of some Py_LIMITED_API for python3. ... ok
testExtendedSection (neuron.tests.test_neuron.NeuronTestCase) ... test: ok
testHClass (neuron.tests.test_neuron.NeuronTestCase)
Test subclass of hoc class. ... ok
testHelp (neuron.tests.test_neuron.NeuronTestCase) ... Syntax:
.. code-block::
python
h.xpanel('name')
h.xpanel('name', [0-1])
h.xpanel()
h.xpanel(x, y)
h.xpanel(scroll)
h.xpanel(scroll, x, y)
Description:
``h.xpanel("name")``
``h.xpanel("name", [0-1])``
Title of a new panel. Every
button, menu, and value between this and a closing ``xpanel()`` command
with no arguments (or placement args) belongs to this panel.
If the form is used with a second argument equal to 1, then
the panel is laid out horizontally. Otherwise the default is vertically.
``h.xpanel()``
``h.xpanel(x, y)``
done constructing the panel. so map it to the screen with position
optionally specified.
``h.xpanel(scroll)``
``h.xpanel(scroll, x, y)``
as above but if the first arg is a number, then the value determines
whether the panel will be inside a scrollbox. Scroll = 0 means a scrollbox
will NOT be used. Scroll = 1 means the panel will be inside a scrollbox.
Scroll = -1 is the default value and whether or not a scrollbox is used
is determined by the number of panel items in comparison with the
value of the panel_scroll property in the nrn.defaults file.
ok
testIterators (neuron.tests.test_neuron.NeuronTestCase)
Test section, segment, mechanism, rangevar iterators. ... ok
testRxDexistence (neuron.tests.test_neuron.NeuronTestCase) ... has_geometry3d is True
basicRxD3D() ran with no exception
ok
testSectionArgOrder (neuron.tests.test_neuron.NeuronTestCase)
First optional arg for Section is name (but name="name" is recommended) ... ok
testSectionCell (neuron.tests.test_neuron.NeuronTestCase)
Section.cell() internally referenced as weakref. ... ok
testSectionListIterator (neuron.tests.test_neuron.NeuronTestCase)
As of v8.0, iteration over a SectionList does not change the cas ... ok
test_newobj_err (neuron.tests.test_neuron.NeuronTestCase)
Test deletion of incompletely constructed objects ...
NEURON: generate an error
near line 1
ob = new NewObj(1, 2)
^
NewObj[4].execerror("generate a...")
NewObj[4].init(0, 2)
NewObj[3].init(1, 2)
NewObj[2].execute1("ob = new N...", NewObj[2])
and others
#NewObj and #Foo in existence 3 6
after del a #NewObj and #Foo in existence 0 0
ok
testpsection (neuron.tests.test_neuron.NeuronTestCase) ... ok
----------------------------------------------------------------------
Ran 15 tests in 2.504s
OK
True
>>> |
In summary:
@pmoolchand: may be you can confirm if using non-intel python works and this is acceptable solution in your case? |
Context
A user has reported various build issues while building nrn+coreneuron on MacOS using oneAPI compilers.
Overview of the issue
Here is the summary sent via email
Step I / Email I
I installed the Intel OneAPI base and HPC toolkits.
I cleaned everything, recompiled and installed mpich-4.0.2, and set up my environment very carefully, which helped.
-DCMAKE_C_COMPILER=icc -DCMAKE_C_FLAGS='-isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -syslibroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -clang-name=clang'
and idem for CXX
and with coreneuron and rx3d off, with no custom_build, I was able to compile, install and import in python.
Unfortunately, make install gives this error:
which crashes upon python import.
Step II / Email II
I saw #618. By setting PYTHONHOME, I overcame the make install error icw 'encodings'.
However, I get segmentation fault.
Another trial by setting the
DEPLOYMENT_TARGET=12.3
Expected result/behavior
NRN+CoreNRN should be able to build cleanly on MacOS with OneAPI toolchain
NEURON setup
Minimal working example - MWE
The text was updated successfully, but these errors were encountered: