- Posts: 13
- Thank you received: 0
If you run into troubles, it is always a good habit to report the following information:
as well as the value of the relevant environmental variables, such OMP_NUM_THREADS, etc.
This information helps us a lot when figuring out what is going on with your compilation
- the way build.mrcc was invoked
- the output of build.mrcc
- compiler version (for example: ifort -V, gfortran -v)
- blas/lapack versions
- as well as gcc and glibc versions
as well as the value of the relevant environmental variables, such OMP_NUM_THREADS, etc.
This information helps us a lot when figuring out what is going on with your compilation
Parallel compilation of MRCC using CMake
- i.s.ger
- Topic Author
- Offline
- New Member
Less
More
1 year 9 months ago - 1 year 9 months ago #1327
by i.s.ger
Parallel compilation of MRCC using CMake was created by i.s.ger
Dear developers,
I tried to compile MRCC using build.mrcc script, unfortunately, this script compiles MRCC in single-thread mode. So, compilation takes time.
Then, I decided to use CMake for the build automatization of MRCC. Initially, I moved all source files (*.f, *.f90, *.F90) into the `source/` directory. Using this directory structure, I have written CMakeLists.txt for CMake. Currently, it has some limitations:
For example, for `intsub.f `, the user should
The structure of MRCC project after patching is presented in `tree` file in the attachment. `patch.diff` contains diff after moving source files into `source/` directory.
Best regards,
Igor
I tried to compile MRCC using build.mrcc script, unfortunately, this script compiles MRCC in single-thread mode. So, compilation takes time.
Then, I decided to use CMake for the build automatization of MRCC. Initially, I moved all source files (*.f, *.f90, *.F90) into the `source/` directory. Using this directory structure, I have written CMakeLists.txt for CMake. Currently, it has some limitations:
- Only dynamic builds (no static)
- Only OpenMPI is supported (I would prefer to modify the source code rather than the build system in this case)
- No HDF5 and Q5cost libraries (I have no idea where I can get Q5cost lib)
- GCC and Intel compilers are supported (I tested armflang also, but I got internal compiler error)
For example, for `intsub.f `, the user should
- create `intsub` directory inside of `source/`
- move `intsub.f` into `intsub`
- split `intsub.f` into multiple files by routines (for example, using f90split)
- remove `intsub.f`
The structure of MRCC project after patching is presented in `tree` file in the attachment. `patch.diff` contains diff after moving source files into `source/` directory.
Best regards,
Igor
Last edit: 1 year 9 months ago by i.s.ger.
Please Log in or Create an account to join the conversation.
- susilehtola
- Offline
- New Member
Less
More
- Posts: 2
- Thank you received: 0
6 months 4 weeks ago #1445
by susilehtola
Replied by susilehtola on topic Parallel compilation of MRCC using CMake
A proper build system would indeed be highly useful, since this would allow for parallel compiles, for example.
Please Log in or Create an account to join the conversation.
- houqq
- Offline
- Junior Member
Less
More
- Posts: 22
- Thank you received: 0
5 months 2 weeks ago #1453
by houqq
Replied by houqq on topic Parallel compilation of MRCC using CMake
Great Job
Please Log in or Create an account to join the conversation.
Time to create page: 0.039 seconds