-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #58 from OpenSEMBA/dev
Bugfix for reading large cellRegions happening in windows intelLLVM
- Loading branch information
Showing
65 changed files
with
6,569 additions
and
649 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -44,7 +44,7 @@ Prebuilt binares are available at [releases](https://github.com/OpenSEMBA/fdtd/r | |
|
||
In windows, you need to install [intel oneapi runtime libraries](https://www.intel.com/content/www/us/en/developer/articles/tool/oneapi-standalone-components.html). | ||
|
||
## Compilation | ||
## GNU/Linux Compilation | ||
|
||
It is important to point out the repository has dependencies which are available as submodules. It is necessary to run `git submodule init` and `git submodule update` from the root folder before running any `cmake` or `build` commands. | ||
|
||
|
@@ -104,7 +104,6 @@ libngspice_la_CFLAGS = -static | |
libngspice_la_LDFLAGS = -static -version-info @LIB_VERSION@ | ||
``` | ||
|
||
|
||
#### MPI | ||
|
||
If you use intel oneapi, make sure to load the mpi environment variables: | ||
|
@@ -113,9 +112,65 @@ If you use intel oneapi, make sure to load the mpi environment variables: | |
source /opt/intel/oneapi/mpi/latest/env/vars.sh | ||
``` | ||
|
||
## Testing | ||
## Windows (intelLLVM) Compilation | ||
|
||
Tests must be run from the root folder. `python` wrapper test assumes that `semba-fdtd` has been compiled successfully and is located in folder `build/bin/`. For intel compilation it also assumes that the intel runtime libraries are accessible. | ||
Clone this repository: | ||
|
||
```shell | ||
git clone https://github.com/OpenSEMBA/fdtd.git | ||
``` | ||
|
||
or, if using SSH keys: | ||
|
||
```shell | ||
git clone [email protected]:OpenSEMBA/fdtd.git | ||
``` | ||
|
||
navigate to the `/fdtd/` folder that has been created, this folder will be referred to as `root` for any future purposes. | ||
|
||
### Prerequisites | ||
|
||
This compilation process will use the already available precompiled libraries included with the project, thus it's not required to build them manually. | ||
This repository has dependencies that are available as submodules. It is necessary to run `git submodule init` and `git submodule update` from the root folder before running any `cmake` or `build` commands. | ||
In the .gitmodules file, the submodules use the SSH remote URL by default. If not using a SSH-key in the computer where the following process will be performed, the remote addresses for each submodule must be individually changed to their HTTPS alternative. | ||
|
||
This software requires [Windows BaseKit](https://www.intel.com/content/www/us/en/developer/tools/oneapi/base-toolkit.html) and [Windows HPCKit](https://www.intel.com/content/www/us/en/developer/tools/oneapi/hpc-toolkit-download.html). Install these packages with all their features selected. | ||
|
||
Additionally, if not done already, install [CMake](https://cmake.org/download/) and [Ninja](https://github.com/ninja-build/ninja), follow their respective installation steps. | ||
|
||
### Compilation process | ||
|
||
Open a command prompt with OneAPI variables initialised, to do this open a new command prompt and type: | ||
|
||
```shell | ||
"C:\Program Files (x86)\Intel\oneAPI\setvars.bat" intel64 | ||
``` | ||
|
||
This will load the OneAPI environment for x64. | ||
|
||
Navigate to the fdtd root folder, choose between "Debug"/"Release" for `-DCMAKE_BUILD_TYPE`, and "Yes"/"No" for `-DSEMBA_FDTD_ENABLE_MPI`, for example, a Release version with MPI Support would be: | ||
|
||
```shell | ||
cmake -S . -B build -GNinja -DCMAKE_BUILD_TYPE=Release -DSEMBA_FDTD_ENABLE_MPI=Yes | ||
``` | ||
|
||
Then, | ||
|
||
```shell | ||
cmake --build build -j | ||
``` | ||
|
||
We should now find the compiled executables in `\build\bin\`. | ||
|
||
### Usage | ||
|
||
In order to use semba-fdtd, the executable must have access to the dynamic libraries it has dependencies on. Either move the libraries to the same folder as the executable, or run the executable through a console with the OneAPI environment loaded: | ||
|
||
```shell | ||
"C:\Program Files (x86)\Intel\oneAPI\setvars.bat" intel64 | ||
``` | ||
|
||
Once the environment is loaded, follow the steps in the next section. | ||
|
||
## Running cases | ||
|
||
|
@@ -126,6 +181,10 @@ These can be run with | |
semba-fdtd -i CASE_NAME.fdtd.json | ||
``` | ||
|
||
## Testing | ||
|
||
Tests must be run from the root folder. `python` wrapper test assumes that `semba-fdtd` has been compiled successfully and is located in folder `build/bin/`. For intel compilation it also assumes that the intel runtime libraries are accessible. | ||
|
||
# License | ||
|
||
This code is licensed under the terms of the [MIT License](LICENSE). All rights reserved by the University of Granada (Spain) | ||
|
Submodule ngspice
updated
8 files
+0 −4 | .gitattributes | |
+1 −1 | configure.ac | |
+2 −2 | src/Makefile.am | |
+4 −24 | src/frontend/breakp.c | |
+0 −1 | src/include/ngspice/ftedebug.h | |
+5 −5 | src/maths/cmaths/cmath1.c | |
+0 −54 | visualc/sharedspice-intel.sln | |
+6 −8 | visualc/sharedspice.vcxproj |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.