Skip to content

Commit d0b947a

Browse files
committed
fix error handling for FPE
fix position of ClearFPE fpe check is error, not fatal for factorization add DOI badge fix macos install paths use anaconda boost remove anaconda_vars.csh anaconda_vars.sh update for release
1 parent 77dbcb7 commit d0b947a

15 files changed

Lines changed: 116 additions & 127 deletions

‎CMakeLists.txt‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ set (CMAKE_CXX_STANDARD 14)
1313
INCLUDE(${PROJECT_SOURCE_DIR}/cmake/${DEVSIM_CONFIG}.cmake)
1414
INCLUDE(${PROJECT_SOURCE_DIR}/local.cmake OPTIONAL)
1515

16-
ADD_DEFINITIONS(-DDEVSIM_VERSION_STRING="\\"1.4.1\\"")
16+
ADD_DEFINITIONS(-DDEVSIM_VERSION_STRING="\\"1.4.2\\"")
1717
ADD_DEFINITIONS(-DDEVSIM_COPYRIGHT_YEAR="\\"2009-2019\\"")
1818

1919
IF (DEVSIM_EXTENDED_PRECISION)

‎README.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
[![Build Status](https://travis-ci.org/devsim/devsim.svg?branch=master)](https://travis-ci.org/devsim/devsim)
22
[![Build status](https://ci.appveyor.com/api/projects/status/github/devsim/devsim?branch=master&svg=true)](https://ci.appveyor.com/project/devsim/devsim)
3+
[![DOI](https://zenodo.org/badge/8838727.svg)](https://zenodo.org/badge/latestdoi/8838727)
34

45
### Introduction:
56
**DEVSIM** - TCAD Device Simulator

‎cmake/centos_6.cmake‎

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,12 @@ SET (EXTERNAL_LIB ${PROJECT_SOURCE_DIR}/external)
55
SET (FLEX /usr/bin/flex)
66
SET (BISON /usr/bin/bison)
77

8-
SET (BOOST_INCLUDE ${EXTERNAL_LIB}/boost_1_66_0)
8+
SET (BOOST_INCLUDE "$ENV{CONDA_PREFIX}/include")
99

1010
SET (QUADMATH_ARCHIVE "-lquadmath")
1111

12-
13-
14-
15-
16-
SET (MKL_PARDISO_INCLUDE $ENV{HOME}/anaconda/envs/python37_devsim_build/include)
17-
SET (MKL_LIB_DIR $ENV{HOME}/anaconda/envs/python37_devsim_build/lib)
12+
SET (MKL_PARDISO_INCLUDE $ENV{CONDA_PREFIX}/include)
13+
SET (MKL_LIB_DIR $ENV{CONDA_PREFIX}/lib)
1814
#http://software.intel.com/en-us/articles/intel-mkl-link-line-advisor
1915
#requires duplicate library for 1-pass linker
2016
SET (BLAS_ARCHIVE
@@ -27,18 +23,18 @@ SET (SUPERLULOCATE ${EXTERNAL_LIB}/SuperLU_4.3)
2723
SET (SUPERLU_INCLUDE ${SUPERLULOCATE}/SRC)
2824
SET (SUPERLU_ARCHIVE ${SUPERLULOCATE}/lib/libsuperlu_4.3.a)
2925

30-
SET (TCL_INCLUDE "$ENV{HOME}/anaconda/include")
31-
SET (TCL_ARCHIVE -L$ENV{HOME}/anaconda/lib -ltcl8.6 -ldl)
26+
#SET (TCL_INCLUDE "$ENV{HOME}/anaconda/include")
27+
#SET (TCL_ARCHIVE -L$ENV{HOME}/anaconda/lib -ltcl8.6 -ldl)
3228
#SET (TCL_STUB /usr/lib64/libtclstub8.6.a)
3329

34-
SET (SQLITE3_INCLUDE $ENV{HOME}/anaconda/include)
35-
SET (SQLITE3_ARCHIVE $ENV{HOME}/anaconda/lib/libsqlite3.a)
30+
SET (SQLITE3_INCLUDE $ENV{CONDA_PREFIX}/include)
31+
SET (SQLITE3_ARCHIVE $ENV{CONDA_PREFIX}/lib/libsqlite3.a)
3632

37-
SET (CGNS_INCLUDE ${EXTERNAL_LIB}/cgnslib/include)
38-
SET (CGNS_ARCHIVE -L${EXTERNAL_LIB}/cgnslib/lib -lcgns)
33+
#SET (CGNS_INCLUDE ${EXTERNAL_LIB}/cgnslib/include)
34+
#SET (CGNS_ARCHIVE -L${EXTERNAL_LIB}/cgnslib/lib -lcgns)
3935

40-
SET (ZLIB_INCLUDE $ENV{HOME}/anaconda/include)
41-
SET (ZLIB_ARCHIVE $ENV{HOME}/anaconda/lib/libz.a)
36+
SET (ZLIB_INCLUDE $ENV{CONDA_PREFIX}/include)
37+
SET (ZLIB_ARCHIVE $ENV{CONDA_PREFIX}/lib/libz.a)
4238

4339
SET (SYMDIFF_INCLUDE ${EXTERNAL_LIB}/symdiff/include)
4440
SET (SYMDIFF_ARCHIVE ${EXTERNAL_LIB}/symdiff/lib/libsymdiff_dynamic.a)
@@ -47,8 +43,8 @@ SET (SYMDIFF_ARCHIVE ${EXTERNAL_LIB}/symdiff/lib/libsymdiff_dynamic.a)
4743
#SET (PYTHON27_ARCHIVE -L$ENV{HOME}/anaconda/envs/python27_devsim_build/lib -lpython2.7)
4844
#SET (PYTHON36_INCLUDE $ENV{HOME}/anaconda/envs/python36_devsim_build/include/python3.6m)
4945
#SET (PYTHON36_ARCHIVE -L$ENV{HOME}/anaconda/envs/python36_devsim_build/lib -lpython3.6m)
50-
SET (PYTHON37_INCLUDE $ENV{HOME}/anaconda/envs/python37_devsim_build/include/python3.7m)
51-
SET (PYTHON37_ARCHIVE -L$ENV{HOME}/anaconda/envs/python37_devsim_build/lib -lpython3.7m)
46+
SET (PYTHON37_INCLUDE $ENV{CONDA_PREFIX}/include/python3.7m)
47+
SET (PYTHON37_ARCHIVE -L$ENV{CONDA_PREFIX}/lib -lpython3.7m)
5248

5349
# important flag for dynamic linking of static archives on linux
5450
SET (CMAKE_POSITION_INDEPENDENT_CODE ON)

‎cmake/osx_gcc.cmake‎

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,52 +5,48 @@ SET (EXTERNAL_LIB ${PROJECT_SOURCE_DIR}/external)
55
SET (FLEX /usr/bin/flex)
66
SET (BISON /usr/bin/bison)
77

8-
SET (BOOST_INCLUDE "/usr/local/include")
8+
SET (BOOST_INCLUDE "$ENV{CONDA_PREFIX}/include")
99

1010
SET (QUADMATH_ARCHIVE "-lquadmath")
11-
#SET (QUADMATH_ARCHIVE /usr/local/Cellar/gcc/8.1.0/lib/gcc/8/libquadmath.a)
12-
#SET (BLAS_ARCHIVE -lblas -llapack)
13-
#SET (BLAS_ARCHIVE -lblas -llapack ${EXTERNAL_LIB}/getrf/build/libgetrf.a)
14-
#SET (BLAS_ARCHIVE -weak-lblas -weak-llapack)
1511

16-
SET (MKL_PARDISO_INCLUDE $ENV{HOME}/anaconda/envs/python37_devsim_build/include)
17-
SET (MKL_LIB_DIR $ENV{HOME}/anaconda/envs/python37_devsim_build/lib)
12+
SET (MKL_PARDISO_INCLUDE $ENV{CONDA_PREFIX}/include)
13+
SET (MKL_LIB_DIR $ENV{CONDA_PREFIX}/lib)
14+
#http://software.intel.com/en-us/articles/intel-mkl-link-line-advisor
15+
#
1816
SET (BLAS_ARCHIVE ${EXTERNAL_LIB}/getrf/build/libgetrf.a
1917
-L${MKL_LIB_DIR} -lmkl_rt -lm -ldl
20-
# -L${MKLROOT}/lib -lmkl_rt -lpthread -lm -ldl
21-
#-L${MKLROOT}/lib -Wl,-rpath,${MKLROOT}/lib -lmkl_rt -lpthread -lm -ldl
2218
)
2319

2420

2521
SET (SUPERLULOCATE ${EXTERNAL_LIB}/SuperLU_4.3)
2622
SET (SUPERLU_INCLUDE ${SUPERLULOCATE}/SRC)
2723
SET (SUPERLU_ARCHIVE ${SUPERLULOCATE}/lib/libsuperlu_4.3_x86_64.a)
2824

29-
SET (TCL_INCLUDE "$ENV{HOME}/anaconda/include")
30-
SET (TCL_ARCHIVE -L$ENV{HOME}/anaconda/lib -ltcl8.6 -ldl)
25+
#SET (TCL_INCLUDE "$ENV{HOME}/anaconda/include")
26+
#SET (TCL_ARCHIVE -L$ENV{HOME}/anaconda/lib -ltcl8.6 -ldl)
3127
#SET (TCL_STUB /usr/lib/libtclstub8.5.a)
3228

33-
SET (SQLITE3_INCLUDE "/usr/include")
34-
SET (SQLITE3_ARCHIVE "-lsqlite3")
29+
SET (SQLITE3_INCLUDE $ENV{CONDA_PREFIX}/include)
30+
SET (SQLITE3_ARCHIVE $ENV{CONDA_PREFIX}/lib/libsqlite3.a)
3531

36-
SET (CGNS_INCLUDE ${EXTERNAL_LIB}/cgnslib/include)
37-
SET (CGNS_ARCHIVE ${EXTERNAL_LIB}/cgnslib/lib/libcgns.a)
32+
#SET (CGNS_INCLUDE ${EXTERNAL_LIB}/cgnslib/include)
33+
#SET (CGNS_ARCHIVE ${EXTERNAL_LIB}/cgnslib/lib/libcgns.a)
3834

39-
SET (ZLIB_INCLUDE "/usr/include")
40-
SET (ZLIB_ARCHIVE "-lz")
35+
SET (ZLIB_INCLUDE $ENV{CONDA_PREFIX}/include)
36+
SET (ZLIB_ARCHIVE $ENV{CONDA_PREFIX}/lib/libz.a)
4137

4238
SET (SYMDIFF_INCLUDE ${EXTERNAL_LIB}/symdiff/include)
4339
SET (SYMDIFF_ARCHIVE ${EXTERNAL_LIB}/symdiff/lib/libsymdiff_static.a)
4440
# FLAT NAMESPACE CAUSES AN ABORT WHEN EXCEPTIONS ARE THROWN
4541
# For Example: https://github.com/elemental/Elemental/issues/203
4642
#SET (ADD_LINKER_FLAGS " -flat_namespace")
47-
#SET (ADD_RPATH "@executable_path/../lib")
4843
#ENDIF (${DEVSIM_CONFIG} STREQUAL "osx_10.9")
4944

5045
#SET (PYTHON27_INCLUDE $ENV{HOME}/anaconda/envs/python27_devsim_build/include/python2.7)
5146
#SET (PYTHON27_ARCHIVE -L$ENV{HOME}/anaconda/envs/python27_devsim_build/lib -lpython2.7)
5247
#SET (PYTHON36_INCLUDE $ENV{HOME}/anaconda/envs/python36_devsim_build/include/python3.6m)
5348
#SET (PYTHON36_ARCHIVE -L$ENV{HOME}/anaconda/envs/python36_devsim_build/lib -lpython3.6m)
54-
SET (PYTHON37_INCLUDE $ENV{HOME}/anaconda/envs/python37_devsim_build/include/python3.7m)
55-
SET (PYTHON37_ARCHIVE -L$ENV{HOME}/anaconda/envs/python37_devsim_build/lib -lpython3.7m)
49+
SET (PYTHON37_INCLUDE $ENV{CONDA_PREFIX}/include/python3.7m)
50+
SET (PYTHON37_ARCHIVE -L$ENV{CONDA_PREFIX}/lib -lpython3.7m)
51+
5652

‎dist/package_linux.sh‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ mkdir -p ${DIST_DIR}/doc
4444
cp ../doc/devsim.pdf ${DIST_DIR}/doc
4545
cp ${SYMDIFF_DOCUMENTATION_DIR}/symdiff.pdf ${DIST_DIR}/doc
4646

47-
for i in INSTALL NOTICE LICENSE RELEASE linux.txt scripts/anaconda_vars.sh scripts/anaconda_vars.csh; do
47+
for i in INSTALL NOTICE LICENSE RELEASE linux.txt; do
4848
cp ../$i ${DIST_DIR}
4949
done
5050

‎dist/package_macos.sh‎

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,13 +58,29 @@ for i in ${DIST_PYDLL}/devsim_py*.so ${DIST_LIB}/symdiff/symdiff_py*.so
5858
do
5959
echo $i
6060
# get otool dependencies from the gcc compiler
61-
for j in `otool -L $i | egrep '\bgcc\b' | sed -e 's/(.*//'`
61+
for j in `otool -L $i | egrep '/usr/local/' | sed -e 's/(.*//'`
6262
do
6363
cp -vf $j ${DIST_LIB}/gcc
6464
echo install_name_tool -change $j "@loader_path/../gcc/`basename $j`" $i
6565
install_name_tool -change $j "@loader_path/../gcc/`basename $j`" $i
6666
done
6767
done
68+
###
69+
### fix issue on High Sierra (and possibly Mojave)
70+
###
71+
chmod u+w ${DIST_LIB}/gcc/*.dylib
72+
for i in ${DIST_LIB}/gcc/*.dylib
73+
do
74+
echo $i
75+
# get otool dependencies from the gcc compiler
76+
for j in `otool -L $i | egrep '/usr/local/' | sed -e 's/(.*//'`
77+
do
78+
#cp -vf $j ${DIST_LIB}/gcc
79+
echo install_name_tool -change $j "@loader_path/../gcc/`basename $j`" $i
80+
install_name_tool -change $j "@loader_path/../gcc/`basename $j`" $i
81+
done
82+
done
83+
6884

6985
#for i in ${DIST_BIN}/devsim_tcl
7086
#do
@@ -90,7 +106,7 @@ mkdir -p ${DIST_DIR}/doc
90106
cp ../doc/devsim.pdf ${DIST_DIR}/doc
91107
cp ${SYMDIFF_DOCUMENTATION_DIR}/symdiff.pdf ${DIST_DIR}/doc
92108

93-
for i in INSTALL NOTICE LICENSE RELEASE macos.txt scripts/anaconda_vars.sh scripts/anaconda_vars.csh; do
109+
for i in INSTALL NOTICE LICENSE RELEASE macos.txt; do
94110
cp ../$i ${DIST_DIR}
95111
done
96112

‎doc/devsim.pdf‎

765 Bytes
Binary file not shown.

‎scripts/anaconda_vars.csh‎

Lines changed: 0 additions & 8 deletions
This file was deleted.

‎scripts/anaconda_vars.sh‎

Lines changed: 0 additions & 8 deletions
This file was deleted.

‎scripts/build_centos_6.sh‎

Lines changed: 10 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
11
#!/bin/bash
22
set -e
3-
mkdir -p ~/bin
4-
export PATH=${HOME}/bin:${PATH}
5-
ln -sf ${HOME}/anaconda/bin/cmake ${HOME}/bin/cmake
6-
# put the tag name in first argument used for distribution
7-
# this script assumes git clone and submodule initialization has been done
83

94
# Centos Specific
105
#https://fedoraproject.org/wiki/EPEL
@@ -18,42 +13,24 @@ cd ${HOME}
1813
if [ ! -f Miniconda3-latest-Linux-x86_64.sh ]
1914
then
2015
curl -O https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh;
21-
bash ~/Miniconda3-latest-Linux-x86_64.sh -b -p ${HOME}/anaconda;
22-
# Python 2
23-
# install cmake in base environment
24-
${HOME}/anaconda/bin/conda install -y cmake
25-
#${HOME}/anaconda/bin/conda create -y --name python27_devsim_build python=2.7
26-
#Python3
27-
#${HOME}/anaconda/bin/conda create -y --name python36_devsim_build python=3.6
16+
bash Miniconda3-latest-Linux-x86_64.sh -b -p ${HOME}/anaconda;
2817
${HOME}/anaconda/bin/conda create -y --name python37_devsim_build python=3.7
29-
${HOME}/anaconda/bin/conda install -y --name python37_devsim_build mkl mkl-devel mkl-include
18+
${HOME}/anaconda/bin/conda install -y --name python37_devsim_build mkl mkl-devel mkl-include boost cmake
3019
fi
20+
source ${HOME}/anaconda/bin/activate python37_devsim_build
3121

3222
#download boost library
33-
(cd ${HOME}/devsim/external && curl -O -L https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.tar.gz)
34-
(cd ${HOME}/devsim/external && tar xzf boost_1_66_0.tar.gz)
23+
#(cd ${HOME}/devsim/external && curl -O -L https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.tar.gz)
24+
#(cd ${HOME}/devsim/external && tar xzf boost_1_66_0.tar.gz)
3525

36-
#git clone https://github.com/devsim/symdiff
37-
#cd symdiff
38-
#bash scripts/setup_centos_6.sh
39-
#cd linux_x86_64_release
40-
#make -j2
4126

42-
cd ${HOME}
43-
# add max depth or copy over
44-
#git clone https://github.com/devsim/devsim
45-
#git clone git@github.com:devsim/devsim
27+
# this script assumes git clone and submodule initialization has been done
4628
cd devsim
47-
#git submodule init
48-
#git submodule update
4929

5030
# SuperLU
5131
#(cd external && curl -O http://crd-legacy.lbl.gov/~xiaoye/SuperLU/superlu_4.3.tar.gz && tar xzf superlu_4.3.tar.gz)
5232
(cd external && tar xzf superlu_4.3.tar.gz)
5333

54-
# quad precision getrf
55-
(cd external/getrf && bash setup_centos6.sh && cd build && make -j2)
56-
5734
# SYMDIFF build
5835
(cd external/symdiff && bash ../symdiff_centos.sh && cd linux_x86_64_release && make -j2);
5936

@@ -63,6 +40,10 @@ cd devsim
6340
# SUPERLU build
6441
(cd external/SuperLU_4.3 && sh ../superlu_centos6.sh)
6542

43+
# quad precision getrf
44+
(cd external/getrf && bash setup_centos6.sh && cd build && make -j2)
45+
46+
6647
bash scripts/setup_centos_6.sh
6748
(cd linux_x86_64_release && make -j2)
6849
(cd dist && bash package_linux.sh ${1})

0 commit comments

Comments
 (0)