📄 svdrun
字号:
endif if ($program[$c] !~ bls1 && $program[$c] !~ bls2) then @ lsizea = ($nrow + $ncol) * ($iterations + 2) @ LMTNW = 6 * ($nrow + $ncol) + $iterations * 4 + 1 + $iterations * $iterations @ MAXIT = $iterations endif if ($program[$c] =~ bls1 || $program[$c] =~ bls2) then set IB2 = $blocksize set IC2 = $subspace @ NMAX = $triplets endif if ($program[$c] =~ sis1 || $program[$c] =~ sis2) then @ extravectors = $subspace - $triplets endif echo "+---------------------------------------------+" echo "| Parameters: |" echo "+---------------------------------------------+" echo "| nrow, LDU, NRMAX, M2, LDT2 = $nrow" echo "| ncol, LDV , N2 = $ncol" echo "| nnzero, MNCMAX = $nnzero" echo "| triplets, NSIG, IK2 = $triplets" echo "| LMTN, NCG, LDY = $LMTN" echo "| NZMAX = $NZMAX" echo "| NCMAX = $NCMAX" if ($program[$c] !~ las1 && $program[$c] !~ las2) then echo "| ISMAX = $ISMAX" endif if ($program[$c] !~ bls1 && $program[$c] !~ bls2) then echo "| lsizea = $lsizea" echo "| LMTNW = $LMTNW" echo "| MAXIT = $MAXIT" endif if ($program[$c] =~ sis1 || $program[$c] =~ sis2) then echo "| Extravectors = $extravectors" endif echo "+---------------------------------------------+" echo " "#-----------------------------------------------------------------------# Create parameters input file ---------------------------------#----------------------------------------------------------------------- if ($program[$c] =~ las1 || $program[$c] =~ las2) then echo "'$file' $iterations $triplets -1.0e-30 1.0e-30 $vectors $accuracy 0" > parameters$c endif if ($program[$c] =~ bls1 || $program[$c] =~ bls2) then echo "'$file' $iterations $subspace $blocksize $triplets $accuracy $vectors" > parameters$c endif if ($program[$c] =~ sis1 || $program[$c] =~ sis2) then echo "'$file' $triplets $extravectors $iterations $accuracy $vectors" > parameters$c endif if ($program[$c] =~ tms1 || $program[$c] =~ tms2) then echo "'$file' $triplets $subspace $ritz $accuracy $residual $vectors $iterations" > parameters$c endif#-----------------------------------------------------------------------# Compile & Link C code --------------------------------------------#----------------------------------------------------------------------- echo "Compiling/Linking C Code ..." if ($archtype =~ rios || $archtype =~ CRAY-YMP) then switch ($program[$c]) case las1: cd $las1files make las1 CC=cc breaksw case las2: cd $las2files make las2 CC=cc breaksw case bls1: cd $bls1files make bls1 CC=cc breaksw case bls2: cd $bls2files make bls2 CC=cc breaksw case sis1: cd $sis1files make sis1 CC=cc breaksw case sis2: cd $sis2files make sis2 CC=cc breaksw case tms1: cd $tms1files make tms1 CC=cc breaksw case tms2: cd $tms2files make tms2 CC=cc breaksw endsw endif if ($archtype =~ sun4 || $archtype =~ hp9000) then switch ($program[$c]) case las1: cd $las1files make las1 CC=gcc breaksw case las2: cd $las2files make las2 CC=gcc breaksw case bls1: cd $bls1files make bls1 CC=gcc breaksw case bls2: cd $bls2files make bls2 CC=gcc breaksw case sis1: cd $sis1files make sis1 CC=gcc breaksw case sis2: cd $sis2files make sis2 CC=gcc breaksw case tms1: cd $tms1files make tms1 CC=gcc breaksw case tms2: cd $tms2files make tms2 CC=gcc breaksw endsw endif cd $userdirectory#-----------------------------------------------------------------------# Run C Code -----------------------------------------------------#----------------------------------------------------------------------- echo "Executing C Code..." mv -f $file matrix if ($program[$c] =~ las1) then mv -f parameters$c lap1 $las1files/$program[$c] mv -f lao1 out1 endif if ($program[$c] =~ las2) then mv -f parameters$c lap2 $las2files/$program[$c] mv -f lao2 out1 endif if ($program[$c] =~ bls1) then mv -f parameters$c blp1 $bls1files/$program[$c] mv -f blo1 out1 endif if ($program[$c] =~ bls2) then mv -f parameters$c blp2 $bls2files/$program[$c] mv -f blo2 out1 endif if ($program[$c] =~ sis1) then mv -f parameters$c sip1 $sis1files/$program[$c] mv -f sio1 out1 endif if ($program[$c] =~ sis2) then mv -f parameters$c sip2 $sis2files/$program[$c] mv -f sio2 out1 endif if ($program[$c] =~ tms1) then mv -f parameters$c tmp1 $tms1files/$program[$c] mv -f tmo1 out1 endif if ($program[$c] =~ tms2) then mv -f parameters$c tmp2 $tms2files/$program[$c] mv -f tmo2 out1 endif mv -f matrix $fname date '+ ... DATE: %a %h %d 19%y %T EST' >> temp cat out1 >> temp sed 's/E-/-/g' temp > temp2 sed 's/E+/+/g' temp2 > $file.out$id[$c] rm -f temp rm -f temp2#-----------------------------------------------------------------------# Cleaning up ----------------------------------------------------#----------------------------------------------------------------------- rm -f parameters$c rm -f out1 rm -f outw rm -f matrix @ c++ echo "__________________________"end if ($datadir !~ $cwd) then echo "...removing links to remote directory" foreach file ($dataset) rm -f $file endelse if ($datadir =~ $cwd) then echo "...compressing files in current directory" foreach file ($dataset) if (! -e $file.Z) then compress -f $file endif endendifecho " "echo "...svdrun completed"#---------------------------------------------------------------------------# End of svdrun ------------------------------------------------------------#---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -