Skip to content
This repository was archived by the owner on Mar 20, 2023. It is now read-only.

Add mod2c as subdirectory instead of external project#409

Merged
pramodk merged 8 commits into
masterfrom
mod2c_as_subdirectory
Oct 28, 2020
Merged

Add mod2c as subdirectory instead of external project#409
pramodk merged 8 commits into
masterfrom
mod2c_as_subdirectory

Conversation

@alkino

@alkino alkino commented Oct 27, 2020

Copy link
Copy Markdown
Member

No description provided.

@nrnhines

Copy link
Copy Markdown
Collaborator

This, along with BlueBrain/mod2c#49 seems to put everything in place to finish off #408 by removing nrnunits.lib and copying nrnunits.lib.in from nrn/share/lib into the proper place in the coreneuron-mod2c combination. I suppose nmodl can follow after.

@pramodk pramodk left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

changes look straightforward!

@pramodk

pramodk commented Oct 27, 2020

Copy link
Copy Markdown
Collaborator

If we look at CI from simulation stack we are seeing (expand full log):

==> Executing phase: 'cmake'
==> Executing phase: 'build'
==> Error: Exception occurred in writer daemon!
Traceback (most recent call last):
  File "/jenkins/06/workspace/hpc.SimulationStack/BUILD_HOME/spack/lib/spack/llnl/util/tty/log.py", line 447, in _writer_daemon
    line = in_pipe.readline()
  File "/usr/lib64/python3.4/codecs.py", line 319, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc0 in position 12: invalid start byte
==> Error: ProcessError: Command exited with status -13:
    'make' '-j36'

1 error found in build log:
     382    [100%] Running nrnivmodl-core with halfgap.mod
     383    cd /nvme/bbprelman/1118684/jenkins-hpc.SimulationStack-2567/spack-s
            tage-coreneuron-develop-qrhiqschr453phmbcsieermxacc7lspp/spack-buil
            d/bin && /nvme/bbprelman/1118684/jenkins-hpc.SimulationStack-2567/s
            pack-stage-coreneuron-develop-qrhiqschr453phmbcsieermxacc7lspp/spac
            k-build/bin/nrnivmodl-core -b STATIC -m /nvme/bbprelman/1118684/jen
            kins-hpc.SimulationStack-2567/spack-stage-coreneuron-develop-qrhiqs
            chr453phmbcsieermxacc7lspp/spack-build/external/mod2c/src/mod2c_cor
            e/mod2c_core /nvme/bbprelman/1118684/jenkins-hpc.SimulationStack-25
            67/spack-stage-coreneuron-develop-qrhiqschr453phmbcsieermxacc7lspp/
            spack-src/tests/integration/ring_gap/mod
     384    [INFO] Running make with params: ROOT=/nvme/bbprelman/1118684/jenki
            ns-hpc.SimulationStack-2567/spack-stage-coreneuron-develop-qrhiqsch
            r453phmbcsieermxacc7lspp/spack-build NMODL_BINARY=/nvme/bbprelman/1
            118684/jenkins-hpc.SimulationStack-2567/spack-stage-coreneuron-deve
            lop-qrhiqschr453phmbcsieermxacc7lspp/spack-build/external/mod2c/src
            /mod2c_core/mod2c_core MODS_PATH=x86_64/core/mods BUILD_TYPE=STATIC
     385    Default nmodl flags:
     386    make[3]: Entering directory `/nvme/bbprelman/1118684/jenkins-hpc.Si
            mulationStack-2567/spack-stage-coreneuron-develop-qrhiqschr453phmbc
            sieermxacc7lspp/spack-build/bin'
     387    make[3]: warning: -jN forced in submake: disabling jobserver mode.
  >> 388    diff: x86_64/corenrn/mod2c/_mod_func.cpp: No such file or directory

See build log for details:
  /nvme/bbprelman/1118684/jenkins-hpc.SimulationStack-2567/spack-stage-coreneuron-develop-qrhiqschr453phmbcsieermxacc7lspp/spack-build-out.txt

@matz-e @ferdonline : UnicodeDecodeError: 'utf-8' codec we have seen before?

@pramodk pramodk merged commit ca4345d into master Oct 28, 2020
@pramodk pramodk deleted the mod2c_as_subdirectory branch October 28, 2020 13:11
@pramodk

pramodk commented Dec 1, 2020

Copy link
Copy Markdown
Collaborator

@jorblancoa @sergiorg-hpc : FYI, this is the PR is causing CI issue.

@alkino : Just FYI, as we have now added mod2c as submodule, it gets compiled with same flags as CoreNEURON. For example, assume that we are compiling for KNL with -DCMAKE_C_FLAGS="-O3 -xMIC-AVX512". mod2c binary gets compiled for KNL as well. But, mod2c is used for translating mod files on Skylake nodes (or front-end node). When we execute mod2c in CI we get:

$ ./bin/mod2c_core
Please verify that both the operating system and the processor support Intel(R) AVX512ER and AVX512PF instructions.

Solution is to not use target specific compiler options for MOD2C. We can just rely on standard O1/O2/O3 flags for MOD2C.

@alkino

alkino commented Dec 1, 2020

Copy link
Copy Markdown
Member Author

You want a canadian compilation?

pramodk pushed a commit to neuronsimulator/nrn that referenced this pull request Nov 2, 2022
…Neuron#409)

* Add mod2c as add_subdirectory instead of external project
* unset PMI_RANK inside nrnivmodl-core
* Fix nrnunits.lib path for install
* Update mod2c to latest master

CoreNEURON Repo SHA: BlueBrain/CoreNeuron@ca4345d
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants