動作環境
GeForce GTX 1070 (8GB)
ASRock Z170M Pro4S [Intel Z170chipset]
Ubuntu 16.04 LTS desktop amd64
TensorFlow v1.2.1
cuDNN v5.1 for Linux
CUDA v8.0
Python 3.5.2
IPython 6.0.0 -- An enhanced Interactive Python.
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)
ADDA v.1.3b6
About
Is used to extract followings from the 'log' files
- Re{m}: real part of refractive index
- Im{m}: imaginary part of refractive index
- number of iterations
code v0.1
bash script
# !/usr/bin/env bash
#
# v0.1 Sep. 16, 2017
# - extract number of iterations in ADDA log file
# - extract Re{m} and Im{m}
#
LOGFILE="log"
# debug
# target="run845_sphere_g26_m1.5"
for target in $(ls | grep run):
do
refrac=$(grep refrac $target/$LOGFILE | awk '{print $3}')
arys=$(echo $refrac | sed 's/+/ /g' | sed 's/i//g')
# set -x # start debugging
rem=$(echo $arys | awk '{print $1}') # real part
imm=$(echo $arys | awk '{print $2}') # imaginary part
num=$(grep RE_ $target/$LOGFILE | tail -n 1 | sed 's/_/ /g' | awk '{print $2}')
echo "$rem,$imm,$num"
done
run
The code can be executed in the directory where you see ADDA output directories (e.g., run859_sphere_g26_m1.5).
$ ls | head
run425_sphere_g26_m1.4
run426_sphere_g26_m1.4
run427_sphere_g26_m1.4
run428_sphere_g26_m1.4
run429_sphere_g26_m1.4
run430_sphere_g26_m1.4
run431_sphere_g26_m1.4
run432_sphere_g26_m1.4
run433_sphere_g26_m1.4
run434_sphere_g26_m1.4
$ bash read_numIter_170916_exec > ReIm_170916.tbl
$ head ReIm_170916.tbl
1.4,1e-05,038
1.4,1.3e-05,039
1.4,1.6e-05,039
1.4,2e-05,039
1.4,2.5e-05,039
1.4,3.2e-05,039
1.4,4e-05,039
1.4,5e-05,038
1.4,6.3e-05,039
1.4,7.9e-05,039
code v0.2
To skip the directories having no [log file.
# !/usr/bin/env bash
#
# v0.2 Sep. 16, 2017
# - check whether the log file exists or not
# v0.1 Sep. 16, 2017
# - extract number of iterations in ADDA log file
# - extract Re{m} and Im{m}
#
LOGFILE="log"
# debug
# target="run845_sphere_g26_m1.5"
for target in $(ls | grep run):
do
if [ -e $target/$LOGFILE ]; then
refrac=$(grep refrac $target/$LOGFILE | awk '{print $3}')
arys=$(echo $refrac | sed 's/+/ /g' | sed 's/i//g')
# set -x # start debugging
rem=$(echo $arys | awk '{print $1}') # real part
imm=$(echo $arys | awk '{print $2}') # imaginary part
num=$(grep RE_ $target/$LOGFILE | tail -n 1 | sed 's/_/ /g' | awk '{print $2}')
echo "$rem,$imm,$num"
fi
done