petsc-3.8.4 2018-03-24
CFLAGS =
FFLAGS =
CPPFLAGS =
FPPFLAGS =
LOCDIR = src/mat/examples/tests/
EXAMPLESC = ex1.c ex2.c ex3.c ex4.c ex5.c ex6.c ex7.c ex8.c ex9.c \
ex10.c ex11.c ex12.c ex13.c ex14.c ex15.c ex16.c ex17.c ex18.c \
ex19.c ex20.c ex21.c ex22.c ex23.c ex24.c ex25.c ex26.c ex27.c ex28.c ex29.c \
ex30.c ex31.c ex32.c ex33.c ex34.c ex35.c ex37.c ex38.c \
ex40.c ex41.c ex42.c ex43.c ex44.c ex45.c ex46.c ex47.c ex48.c \
ex49.c ex50.c ex51.c ex52.c ex53.c ex54.c ex55.c ex56.c \
ex57.c ex58.c ex59.c ex60.c ex61.c ex62.c ex64.c ex65.c \
ex66.c ex68.c ex70.c ex71.c ex72.c ex73.c ex74.c ex75.c \
ex76.c ex77.c ex78.c ex80.c ex82.c ex83.c ex86.c ex87.c \
ex88.c ex91.c ex92.c ex93.c ex94.c ex95.c ex96.c ex97.c ex98.c \
ex100.c ex101.c ex102.c ex104.c ex106.c \
ex108.c ex109.c ex110.c ex111.c ex112.c ex113.c \
ex114.c ex115.c ex116.c ex117.c ex118.c ex119.c ex120.c \
ex121.c ex122.c ex124.c ex125.c ex127.c ex128.c \
ex129.c ex130.c ex131.c ex132.c ex133.c ex134.c ex135.c \
ex136.c ex137.c ex138.c ex139.c ex140.c ex141.c ex142.c \
ex143.c ex144.c ex145.c ex146.c ex147.c ex148.c ex149.c \
ex150.c ex151.c ex152.c ex153.c ex155.c ex157.c ex158.c ex159.c ex164.c ex169.c ex171.c ex172.c ex173.c ex174.cxx ex175.c ex180.c \
ex181.c ex182.c ex183.c ex300.c ex190.c ex191.c ex192.c ex193.c ex194.c ex195.c ex197.c ex198.c ex199.c ex200.c \
ex202.c ex203.c ex205.c ex206.c ex207.c ex208.c
EXAMPLESF = ex16f90.F90 ex36f.F ex58f.F ex63f.F ex67f.F ex79f.F90 ex85f.F ex105f.F ex120f.F ex126f.F ex171f.F ex196f90.F90 ex201f.F ex209f.F90
include ${PETSC_DIR}/lib/petsc/conf/variables
include ${PETSC_DIR}/lib/petsc/conf/rules
ex1: ex1.o chkopts
-${CLINKER} -o ex1 ex1.o ${PETSC_MAT_LIB}
${RM} ex1.o
ex2: ex2.o chkopts
-${CLINKER} -o ex2 ex2.o ${PETSC_MAT_LIB}
${RM} ex2.o
ex3: ex3.o chkopts
-${CLINKER} -o ex3 ex3.o ${PETSC_MAT_LIB}
${RM} ex3.o
ex4: ex4.o chkopts
-${CLINKER} -o ex4 ex4.o ${PETSC_MAT_LIB}
${RM} ex4.o
ex5: ex5.o chkopts
-${CLINKER} -o ex5 ex5.o ${PETSC_MAT_LIB}
${RM} ex5.o
ex6: ex6.o chkopts
-${CLINKER} -o ex6 ex6.o ${PETSC_MAT_LIB}
${RM} ex6.o
ex7: ex7.o chkopts
-${CLINKER} -o ex7 ex7.o ${PETSC_MAT_LIB}
${RM} ex7.o
ex8: ex8.o chkopts
-${CLINKER} -o ex8 ex8.o ${PETSC_MAT_LIB}
${RM} ex8.o
ex9: ex9.o chkopts
-${CLINKER} -o ex9 ex9.o ${PETSC_MAT_LIB}
${RM} ex9.o
ex10: ex10.o chkopts
-${CLINKER} -o ex10 ex10.o ${PETSC_MAT_LIB}
${RM} ex10.o
ex11: ex11.o chkopts
-${CLINKER} -o ex11 ex11.o ${PETSC_MAT_LIB}
${RM} ex11.o
ex12: ex12.o chkopts
-${CLINKER} -o ex12 ex12.o ${PETSC_MAT_LIB}
${RM} ex12.o
ex13: ex13.o chkopts
-${CLINKER} -o ex13 ex13.o ${PETSC_MAT_LIB}
${RM} ex13.o
ex14: ex14.o chkopts
-${CLINKER} -o ex14 ex14.o ${PETSC_MAT_LIB}
${RM} ex14.o
ex15: ex15.o chkopts
-${CLINKER} -o ex15 ex15.o ${PETSC_MAT_LIB}
${RM} ex15.o
ex16: ex16.o chkopts
-${CLINKER} -o ex16 ex16.o ${PETSC_MAT_LIB}
${RM} ex16.o
ex16f90: ex16f90.o chkopts
-${FLINKER} -o ex16f90 ex16f90.o ${PETSC_MAT_LIB}
${RM} ex16f90.o
ex17: ex17.o chkopts
-${CLINKER} -o ex17 ex17.o ${PETSC_MAT_LIB}
${RM} ex17.o
ex18: ex18.o chkopts
-${CLINKER} -o ex18 ex18.o ${PETSC_MAT_LIB}
${RM} ex18.o
ex19: ex19.o chkopts
-${CLINKER} -o ex19 ex19.o ${PETSC_MAT_LIB}
${RM} ex19.o
ex20: ex20.o chkopts
-${CLINKER} -o ex20 ex20.o ${PETSC_MAT_LIB}
${RM} ex20.o
ex21: ex21.o chkopts
-${CLINKER} -o ex21 ex21.o ${PETSC_MAT_LIB}
${RM} ex21.o
ex22: ex22.o chkopts
-${CLINKER} -o ex22 ex22.o ${PETSC_MAT_LIB}
${RM} ex22.o
ex23: ex23.o chkopts
-${CLINKER} -o ex23 ex23.o ${PETSC_MAT_LIB}
${RM} ex23.o
ex24: ex24.o chkopts
-${CLINKER} -o ex24 ex24.o ${PETSC_MAT_LIB}
${RM} ex24.o
ex25: ex25.o chkopts
-${CLINKER} -o ex25 ex25.o ${PETSC_MAT_LIB}
${RM} ex25.o
ex26: ex26.o chkopts
-${CLINKER} -o ex26 ex26.o ${PETSC_MAT_LIB}
${RM} ex26.o
ex27: ex27.o chkopts
-${CLINKER} -o ex27 ex27.o ${PETSC_MAT_LIB}
${RM} ex27.o
ex28: ex28.o chkopts
-${CLINKER} -o ex28 ex28.o ${PETSC_MAT_LIB}
${RM} ex28.o
ex29: ex29.o chkopts
-${CLINKER} -o ex29 ex29.o ${PETSC_MAT_LIB}
${RM} ex29.o
ex30: ex30.o chkopts
-${CLINKER} -o ex30 ex30.o ${PETSC_MAT_LIB}
${RM} ex30.o
ex31: ex31.o chkopts
-${CLINKER} -o ex31 ex31.o ${PETSC_MAT_LIB}
${RM} ex31.o
ex32: ex32.o chkopts
-${CLINKER} -o ex32 ex32.o ${PETSC_MAT_LIB}
${RM} ex32.o
ex33: ex33.o chkopts
-${CLINKER} -o ex33 ex33.o ${PETSC_MAT_LIB}
${RM} ex33.o
ex34: ex34.o chkopts
-${CLINKER} -o ex34 ex34.o ${PETSC_MAT_LIB}
${RM} ex34.o
ex35: ex35.o chkopts
-${CLINKER} -o ex35 ex35.o ${PETSC_MAT_LIB}
${RM} ex35.o
ex36f: ex36f.o chkopts
-${FLINKER} -o ex36f ex36f.o ${PETSC_MAT_LIB}
${RM} ex36f.o
ex37: ex37.o chkopts
-${CLINKER} -o ex37 ex37.o ${PETSC_MAT_LIB}
${RM} ex37.o
ex38: ex38.o chkopts
-${CLINKER} -o ex38 ex38.o ${PETSC_MAT_LIB}
${RM} ex38.o
ex39: ex39.o chkopts
-${CLINKER} -o ex39 ex39.o ${PETSC_MAT_LIB}
${RM} ex39.o
ex40: ex40.o chkopts
-${CLINKER} -o ex40 ex40.o ${PETSC_MAT_LIB}
${RM} ex40.o
ex41: ex41.o chkopts
-${CLINKER} -o ex41 ex41.o ${PETSC_MAT_LIB}
${RM} ex41.o
ex42: ex42.o chkopts
-${CLINKER} -o ex42 ex42.o ${PETSC_MAT_LIB}
${RM} ex42.o
ex43: ex43.o chkopts
-${CLINKER} -o ex43 ex43.o ${PETSC_MAT_LIB}
${RM} ex43.o
ex44: ex44.o chkopts
-${CLINKER} -o ex44 ex44.o ${PETSC_MAT_LIB}
${RM} ex44.o
ex45: ex45.o chkopts
-${CLINKER} -o ex45 ex45.o ${PETSC_MAT_LIB}
${RM} ex45.o
ex46: ex46.o chkopts
-${CLINKER} -o ex46 ex46.o ${PETSC_MAT_LIB}
${RM} ex46.o
ex47: ex47.o chkopts
-${CLINKER} -o ex47 ex47.o ${PETSC_MAT_LIB}
${RM} ex47.o
ex48: ex48.o chkopts
-${CLINKER} -o ex48 ex48.o ${PETSC_MAT_LIB}
${RM} ex48.o
ex49: ex49.o chkopts
-${CLINKER} -o ex49 ex49.o ${PETSC_MAT_LIB}
${RM} ex49.o
ex50: ex50.o chkopts
-${CLINKER} -o ex50 ex50.o ${PETSC_MAT_LIB}
${RM} ex50.o
ex51: ex51.o chkopts
-${CLINKER} -o ex51 ex51.o ${PETSC_MAT_LIB}
${RM} ex51.o
ex52: ex52.o chkopts
-${CLINKER} -o ex52 ex52.o ${PETSC_MAT_LIB}
${RM} ex52.o
ex53: ex53.o chkopts
-${CLINKER} -o ex53 ex53.o ${PETSC_MAT_LIB}
${RM} ex53.o
ex54: ex54.o chkopts
-${CLINKER} -o ex54 ex54.o ${PETSC_MAT_LIB}
${RM} ex54.o
ex55: ex55.o chkopts
-${CLINKER} -o ex55 ex55.o ${PETSC_MAT_LIB}
${RM} ex55.o
ex56: ex56.o chkopts
-${CLINKER} -o ex56 ex56.o ${PETSC_MAT_LIB}
${RM} ex56.o
ex57: ex57.o chkopts
-${CLINKER} -o ex57 ex57.o ${PETSC_MAT_LIB}
${RM} ex57.o
ex58: ex58.o chkopts
-${CLINKER} -o ex58 ex58.o ${PETSC_MAT_LIB}
${RM} ex58.o
ex58f: ex58f.o chkopts
-${FLINKER} -o ex58f ex58f.o ${PETSC_MAT_LIB}
${RM} ex58f.o
ex59: ex59.o chkopts
-${CLINKER} -o ex59 ex59.o ${PETSC_MAT_LIB}
${RM} ex59.o
ex60: ex60.o chkopts
-${CLINKER} -o ex60 ex60.o ${PETSC_MAT_LIB}
${RM} ex60.o
ex61: ex61.o chkopts
-${CLINKER} -o ex61 ex61.o ${PETSC_MAT_LIB}
${RM} ex61.o
ex62: ex62.o chkopts
-${CLINKER} -o ex62 ex62.o ${PETSC_MAT_LIB}
${RM} ex62.o
ex63f: ex63f.o chkopts
-${FLINKER} -o ex63f ex63f.o ${PETSC_MAT_LIB}
${RM} ex63f.o
ex64: ex64.o chkopts
-${CLINKER} -o ex64 ex64.o ${PETSC_MAT_LIB}
${RM} ex64.o
ex65: ex65.o chkopts
-${CLINKER} -o ex65 ex65.o ${PETSC_MAT_LIB}
${RM} ex65.o
ex66: ex66.o chkopts
-${CLINKER} -o ex66 ex66.o ${PETSC_MAT_LIB}
${RM} ex66.o
ex67f: ex67f.o chkopts
-${FLINKER} -o ex67f ex67f.o ${PETSC_MAT_LIB}
${RM} ex67f.o
ex68: ex68.o chkopts
-${CLINKER} -o ex68 ex68.o ${PETSC_MAT_LIB}
${RM} ex68.o
ex70: ex70.o chkopts
-${CLINKER} -o ex70 ex70.o ${PETSC_MAT_LIB}
${RM} ex70.o
ex71: ex71.o chkopts
-${CLINKER} -o ex71 ex71.o ${PETSC_MAT_LIB}
${RM} ex71.o
ex72: ex72.o chkopts
-${CLINKER} -o ex72 ex72.o ${PETSC_MAT_LIB}
${RM} ex72.o
ex73: ex73.o chkopts
-${CLINKER} -o ex73 ex73.o ${PETSC_MAT_LIB}
${RM} ex73.o
ex74: ex74.o chkopts
-${CLINKER} -o ex74 ex74.o ${PETSC_MAT_LIB}
${RM} ex74.o
ex75: ex75.o chkopts
-${CLINKER} -o ex75 ex75.o ${PETSC_MAT_LIB}
${RM} ex75.o
ex76: ex76.o chkopts
-${CLINKER} -o ex76 ex76.o ${PETSC_MAT_LIB}
${RM} ex76.o
ex77: ex77.o chkopts
-${CLINKER} -o ex77 ex77.o ${PETSC_MAT_LIB}
${RM} ex77.o
ex78: ex78.o chkopts
-${CLINKER} -o ex78 ex78.o ${PETSC_MAT_LIB}
${RM} ex78.o
ex80: ex80.o chkopts
-${CLINKER} -o ex80 ex80.o ${PETSC_MAT_LIB}
${RM} ex80.o
ex82: ex82.o chkopts
-${CLINKER} -o ex82 ex82.o ${PETSC_MAT_LIB}
${RM} ex82.o
ex83: ex83.o chkopts
-${CLINKER} -o ex83 ex83.o ${PETSC_MAT_LIB}
${RM} ex83.o
ex79f: ex79f.o chkopts
-${FLINKER} -o ex79f ex79f.o ${PETSC_MAT_LIB}
${RM} ex79f.o
ex85f: ex85f.o chkopts
-${FLINKER} -o ex85f ex85f.o ${PETSC_MAT_LIB}
${RM} ex85f.o
ex86: ex86.o chkopts
-${CLINKER} -o ex86 ex86.o ${PETSC_MAT_LIB}
${RM} ex86.o
ex87: ex87.o chkopts
-${CLINKER} -o ex87 ex87.o ${PETSC_MAT_LIB}
${RM} ex87.o
ex88: ex88.o chkopts
-${CLINKER} -o ex88 ex88.o ${PETSC_MAT_LIB}
${RM} ex88.o
ex91: ex91.o chkopts
-${CLINKER} -o ex91 ex91.o ${PETSC_MAT_LIB}
${RM} ex91.o
ex92: ex92.o chkopts
-${CLINKER} -o ex92 ex92.o ${PETSC_MAT_LIB}
${RM} ex92.o
ex93: ex93.o chkopts
-${CLINKER} -o ex93 ex93.o ${PETSC_MAT_LIB}
${RM} ex93.o
ex94: ex94.o chkopts
-${CLINKER} -o ex94 ex94.o ${PETSC_MAT_LIB}
${RM} ex94.o
ex95: ex95.o chkopts
-${CLINKER} -o ex95 ex95.o ${PETSC_MAT_LIB}
${RM} ex95.o
ex96: ex96.o chkopts
-${CLINKER} -o ex96 ex96.o ${PETSC_KSP_LIB}
${RM} ex96.o
ex97: ex97.o chkopts
-${CLINKER} -o ex97 ex97.o ${PETSC_KSP_LIB}
${RM} ex97.o
ex98: ex98.o chkopts
-${CLINKER} -o ex98 ex98.o ${PETSC_KSP_LIB}
${RM} ex98.o
ex99: ex99.o chkopts
-${CLINKER} -o ex99 ex99.o ${PETSC_MAT_LIB}
${RM} ex99.o
ex100: ex100.o chkopts
-${CLINKER} -o ex100 ex100.o ${PETSC_MAT_LIB}
${RM} ex100.o
ex101: ex101.o chkopts
-${CLINKER} -o ex101 ex101.o ${PETSC_MAT_LIB}
${RM} ex101.o
ex102: ex102.o chkopts
-${CLINKER} -o ex102 ex102.o ${PETSC_MAT_LIB}
${RM} ex102.o
ex103: ex103.o chkopts
-${CLINKER} -o ex103 ex103.o ${PETSC_MAT_LIB}
${RM} ex103.o
ex104: ex104.o chkopts
-${CLINKER} -o ex104 ex104.o ${PETSC_MAT_LIB}
${RM} ex104.o
ex105f: ex105f.o chkopts
-${FLINKER} -o ex105f ex105f.o ${PETSC_MAT_LIB}
${RM} ex105f.o
ex106: ex106.o chkopts
-${CLINKER} -o ex106 ex106.o ${PETSC_MAT_LIB}
${RM} ex106.o
ex107: ex107.o chkopts
-${CLINKER} -o ex107 ex107.o ${PETSC_MAT_LIB}
${RM} ex107.o
ex108: ex108.o chkopts
-${CLINKER} -o ex108 ex108.o ${PETSC_MAT_LIB}
${RM} ex108.o
ex109: ex109.o chkopts
-${CLINKER} -o ex109 ex109.o ${PETSC_MAT_LIB}
${RM} ex109.o
ex110: ex110.o chkopts
-${CLINKER} -o ex110 ex110.o ${PETSC_MAT_LIB}
${RM} ex110.o
ex111: ex111.o chkopts
-${CLINKER} -o ex111 ex111.o ${PETSC_MAT_LIB}
${RM} ex111.o
ex112: ex112.o chkopts
-${CLINKER} -o ex112 ex112.o ${PETSC_MAT_LIB}
${RM} ex112.o
ex113: ex113.o chkopts
-${CLINKER} -o ex113 ex113.o ${PETSC_MAT_LIB}
${RM} ex113.o
ex114: ex114.o chkopts
-${CLINKER} -o ex114 ex114.o ${PETSC_MAT_LIB}
${RM} ex114.o
ex115: ex115.o chkopts
-${CLINKER} -o ex115 ex115.o ${PETSC_MAT_LIB}
${RM} ex115.o
ex116: ex116.o chkopts
-${CLINKER} -o ex116 ex116.o ${PETSC_MAT_LIB}
${RM} ex116.o
ex117: ex117.o chkopts
-${CLINKER} -o ex117 ex117.o ${PETSC_MAT_LIB}
${RM} ex117.o
ex118: ex118.o chkopts
-${CLINKER} -o ex118 ex118.o ${PETSC_MAT_LIB}
${RM} ex118.o
ex119: ex119.o chkopts
-${CLINKER} -o ex119 ex119.o ${PETSC_MAT_LIB}
${RM} ex119.o
ex120: ex120.o chkopts
-${CLINKER} -o ex120 ex120.o ${PETSC_MAT_LIB}
${RM} ex120.o
ex120f: ex120f.o chkopts
-${FLINKER} -o ex120f ex120f.o ${PETSC_MAT_LIB}
${RM} ex120f.o
ex121: ex121.o chkopts
-${CLINKER} -o ex121 ex121.o ${PETSC_MAT_LIB}
${RM} ex121.o
ex122: ex122.o chkopts
-${CLINKER} -o ex122 ex122.o ${PETSC_MAT_LIB}
${RM} ex122.o
ex123: ex123.o chkopts
-${CLINKER} -o ex123 ex123.o ${PETSC_MAT_LIB}
${RM} ex123.o
ex124: ex124.o chkopts
-${CLINKER} -o ex124 ex124.o ${PETSC_MAT_LIB}
${RM} ex124.o
ex125: ex125.o chkopts
-${CLINKER} -o ex125 ex125.o ${PETSC_MAT_LIB}
${RM} ex125.o
ex126f: ex126f.o chkopts
-${FLINKER} -o ex126f ex126f.o ${PETSC_MAT_LIB}
${RM} ex126f.o
ex127: ex127.o chkopts
-${CLINKER} -o ex127 ex127.o ${PETSC_MAT_LIB}
${RM} ex127.o
ex128: ex128.o chkopts
-${CLINKER} -o ex128 ex128.o ${PETSC_MAT_LIB}
${RM} ex128.o
ex129: ex129.o chkopts
-${CLINKER} -o ex129 ex129.o ${PETSC_DM_LIB}
${RM} ex129.o
ex130: ex130.o chkopts
-${CLINKER} -o ex130 ex130.o ${PETSC_MAT_LIB}
${RM} ex130.o
ex131: ex131.o chkopts
-${CLINKER} -o ex131 ex131.o ${PETSC_MAT_LIB}
${RM} ex131.o
ex132: ex132.o chkopts
-${CLINKER} -o ex132 ex132.o ${PETSC_MAT_LIB}
${RM} ex132.o
ex133: ex133.o chkopts
-${CLINKER} -o ex133 ex133.o ${PETSC_MAT_LIB}
${RM} ex133.o
ex134: ex134.o chkopts
-${CLINKER} -o ex134 ex134.o ${PETSC_MAT_LIB}
${RM} ex134.o
ex135: ex135.o chkopts
-${CLINKER} -o ex135 ex135.o ${PETSC_MAT_LIB}
${RM} ex135.o
ex136: ex136.o chkopts
-${CLINKER} -o ex136 ex136.o ${PETSC_MAT_LIB}
${RM} ex136.o
ex137: ex137.o chkopts
-${CLINKER} -o ex137 ex137.o ${PETSC_MAT_LIB}
${RM} ex137.o
ex138: ex138.o chkopts
-${CLINKER} -o ex138 ex138.o ${PETSC_MAT_LIB}
${RM} ex138.o
ex139: ex139.o chkopts
-${CLINKER} -o ex139 ex139.o ${PETSC_MAT_LIB}
${RM} ex139.o
ex140: ex140.o chkopts
-${CLINKER} -o ex140 ex140.o ${PETSC_MAT_LIB}
${RM} ex140.o
ex141: ex141.o chkopts
-${CLINKER} -o ex141 ex141.o ${PETSC_MAT_LIB}
${RM} ex141.o
ex142: ex142.o chkopts
-${CLINKER} -o ex142 ex142.o ${PETSC_MAT_LIB}
${RM} ex142.o
ex143: ex143.o chkopts
-${CLINKER} -o ex143 ex143.o ${PETSC_MAT_LIB}
${RM} ex143.o
ex144: ex144.o chkopts
-${CLINKER} -o ex144 ex144.o ${PETSC_MAT_LIB}
${RM} ex144.o
ex145: ex145.o chkopts
-${CLINKER} -o ex145 ex145.o ${PETSC_MAT_LIB}
${RM} ex145.o
ex146: ex146.o chkopts
-${CLINKER} -o ex146 ex146.o ${PETSC_MAT_LIB}
${RM} ex146.o
ex147: ex147.o chkopts
-${CLINKER} -o ex147 ex147.o ${PETSC_MAT_LIB}
${RM} ex147.o
ex148: ex148.o chkopts
-${CLINKER} -o ex148 ex148.o ${PETSC_MAT_LIB}
${RM} ex148.o
ex149: ex149.o chkopts
-${CLINKER} -o ex149 ex149.o ${PETSC_MAT_LIB}
${RM} ex149.o
ex150: ex150.o chkopts
-${CLINKER} -o ex150 ex150.o ${PETSC_MAT_LIB}
${RM} ex150.o
ex151: ex151.o chkopts
-${CLINKER} -o ex151 ex151.o ${PETSC_MAT_LIB}
${RM} ex151.o
ex152: ex152.o chkopts
-${CLINKER} -o ex152 ex152.o ${PETSC_MAT_LIB}
${RM} ex152.o
ex153: ex153.o chkopts
-${CLINKER} -o ex153 ex153.o ${PETSC_MAT_LIB}
${RM} ex153.o
ex155: ex155.o chkopts
-${CLINKER} -o ex155 ex155.o ${PETSC_MAT_LIB}
${RM} ex155.o
ex156: ex156.o chkopts
-${CLINKER} -o ex156 ex156.o ${PETSC_MAT_LIB}
${RM} ex156.o
ex157: ex157.o chkopts
-${CLINKER} -o ex157 ex157.o ${PETSC_MAT_LIB}
${RM} ex157.o
ex158: ex158.o chkopts
-${CLINKER} -o ex158 ex158.o ${PETSC_MAT_LIB}
${RM} ex158.o
ex159: ex159.o chkopts
-${CLINKER} -o ex159 ex159.o ${PETSC_MAT_LIB}
${RM} ex159.o
ex160: ex160.o chkopts
-${CLINKER} -o ex160 ex160.o ${PETSC_MAT_LIB}
${RM} ex160.o
ex161: ex161.o chkopts
-${CLINKER} -o ex161 ex161.o ${PETSC_MAT_LIB}
${RM} ex161.o
ex162: ex162.o chkopts
-${CLINKER} -o ex162 ex162.o ${PETSC_MAT_LIB}
${RM} ex162.o
ex163: ex163.o chkopts
-${CLINKER} -o ex163 ex163.o ${PETSC_MAT_LIB}
${RM} ex163.o
ex164: ex164.o chkopts
-${CLINKER} -o ex164 ex164.o ${PETSC_MAT_LIB}
${RM} ex164.o
ex165: ex165.o chkopts
-${CLINKER} -o ex165 ex165.o ${PETSC_MAT_LIB}
${RM} ex165.o
ex166: ex166.o chkopts
-${CLINKER} -o ex166 ex166.o ${PETSC_MAT_LIB}
${RM} ex166.o
ex167: ex167.o chkopts
-${CLINKER} -o ex167 ex167.o ${PETSC_MAT_LIB}
${RM} ex167.o
ex168: ex168.o chkopts
-${CLINKER} -o ex168 ex168.o ${PETSC_MAT_LIB}
${RM} ex168.o
ex169: ex169.o chkopts
-${CLINKER} -o ex169 ex169.o ${PETSC_MAT_LIB}
${RM} ex169.o
ex171: ex171.o chkopts
-${CLINKER} -o ex171 ex171.o ${PETSC_MAT_LIB}
${RM} ex171.o
ex171f: ex171f.o chkopts
-${FLINKER} -o ex171f ex171f.o ${PETSC_MAT_LIB}
${RM} ex171f.o
ex172: ex172.o chkopts
-${CLINKER} -o ex172 ex172.o ${PETSC_MAT_LIB}
${RM} ex172.o
ex173: ex173.o chkopts
-${CLINKER} -o ex173 ex173.o ${PETSC_MAT_LIB}
${RM} ex173.o
ex174: ex174.o chkopts
-${CLINKER} -o ex174 ex174.o ${PETSC_MAT_LIB}
${RM} ex174.o
ex175: ex175.o chkopts
-${CLINKER} -o ex175 ex175.o ${PETSC_MAT_LIB}
${RM} ex175.o
ex180: ex180.o chkopts
-${CLINKER} -o ex180 ex180.o ${PETSC_MAT_LIB}
${RM} ex180.o
ex181: ex181.o chkopts
-${CLINKER} -o ex181 ex181.o ${PETSC_MAT_LIB}
${RM} ex181.o
ex182: ex182.o chkopts
-${CLINKER} -o ex182 ex182.o ${PETSC_MAT_LIB}
${RM} ex182.o
ex183: ex183.o chkopts
-${CLINKER} -o ex183 ex183.o ${PETSC_MAT_LIB}
${RM} ex183.o
ex300: ex300.o chkopts
-${CLINKER} -o ex300 ex300.o ${PETSC_MAT_LIB}
${RM} ex300.o
ex190: ex190.o chkopts
-${CLINKER} -o ex190 ex190.o ${PETSC_MAT_LIB}
${RM} ex190.o
ex191: ex191.o chkopts
-${CLINKER} -o ex191 ex191.o ${PETSC_MAT_LIB}
${RM} ex191.o
ex192: ex192.o chkopts
-${CLINKER} -o ex192 ex192.o ${PETSC_MAT_LIB}
${RM} ex192.o
ex193: ex193.o chkopts
-${CLINKER} -o ex193 ex193.o ${PETSC_MAT_LIB}
${RM} ex193.o
ex194: ex194.o chkopts
-${CLINKER} -o ex194 ex194.o ${PETSC_MAT_LIB}
${RM} ex194.o
ex195: ex195.o chkopts
-${CLINKER} -o ex195 ex195.o ${PETSC_MAT_LIB}
${RM} ex195.o
ex196f90: ex196f90.o chkopts
-${FLINKER} -o ex196f90 ex196f90.o ${PETSC_MAT_LIB}
${RM} ex196f90.o
ex197: ex197.o chkopts
-${CLINKER} -o ex197 ex197.o ${PETSC_MAT_LIB}
${RM} ex197.o
ex198: ex198.o chkopts
-${CLINKER} -o ex198 ex198.o ${PETSC_MAT_LIB}
${RM} ex198.o
ex199: ex199.o chkopts
-${CLINKER} -o ex199 ex199.o ${PETSC_MAT_LIB}
${RM} ex199.o
ex200: ex200.o chkopts
-${CLINKER} -o ex200 ex200.o ${PETSC_MAT_LIB}
${RM} ex200.o
ex201f: ex201f.o chkopts
-${FLINKER} -o ex201f ex201f.o ${PETSC_MAT_LIB}
${RM} ex201f.o
ex202: ex202.o chkopts
-${CLINKER} -o ex202 ex202.o ${PETSC_MAT_LIB}
${RM} ex202.o
ex203: ex203.o chkopts
-${CLINKER} -o ex203 ex203.o ${PETSC_MAT_LIB}
${RM} ex203.o
ex204: ex204.o chkopts
-${CLINKER} -o ex204 ex204.o ${PETSC_MAT_LIB}
${RM} ex204.o
ex205: ex205.o chkopts
-${CLINKER} -o ex205 ex205.o ${PETSC_MAT_LIB}
${RM} ex205.o
ex206: ex206.o chkopts
-${CLINKER} -o ex206 ex206.o ${PETSC_MAT_LIB}
${RM} ex206.o
ex207: ex207.o chkopts
-${CLINKER} -o ex207 ex207.o ${PETSC_MAT_LIB}
${RM} ex207.o
ex208: ex208.o chkopts
-${CLINKER} -o ex208 ex208.o ${PETSC_MAT_LIB}
${RM} ex208.o
ex209f: ex209f.o chkopts
-${FLINKER} -o ex209f ex209f.o ${PETSC_MAT_LIB}
${RM} ex209f.o
#-----------------------------------------------------------------------------
NPROCS = 1 3
MATSHAPES = A B
runex1:
-@${MPIEXEC} -n 1 ./ex1 > ex1_1.tmp 2>&1; \
if (${DIFF} output/ex1_1.out ex1_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex1_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex1_1.tmp
runex2:
-@${MPIEXEC} -n 1 ./ex2 -mat_type seqaij -rectA | grep -v "Mat Object" > ex2_1.tmp 2>&1; \
if (${DIFF} output/ex2_11_A.out ex2_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex2_11_A for seqaij, diffs above\n=========================================\n"; fi; \
${RM} -f ex2_1.tmp;
-@${MPIEXEC} -n 1 ./ex2 -mat_type seqdense -rectA | grep -v "Mat Object" > ex2_1.tmp 2>&1; \
if (${DIFF} output/ex2_12_A.out ex2_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex2_12_A for seqdense, diffs above\n=========================================\n"; fi; \
${RM} -f ex2_1.tmp;
-@${MPIEXEC} -n 1 ./ex2 -mat_type seqaij -rectB | grep -v "Mat Object" > ex2_1.tmp 2>&1; \
if (${DIFF} output/ex2_11_B.out ex2_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex2_11_B for seqaij, diffs above\n=========================================\n"; fi; \
${RM} -f ex2_1.tmp;
-@${MPIEXEC} -n 1 ./ex2 -mat_type seqdense -rectB | grep -v "Mat Object" > ex2_1.tmp 2>&1; \
if (${DIFF} output/ex2_12_B.out ex2_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex2_12_B for seqdense, diffs above\n=========================================\n"; fi; \
${RM} -f ex2_1.tmp;
runex2_2:
-@${MPIEXEC} -n 1 ./ex2 -mat_type mpiaij > ex2_1.tmp 2>&1; \
if (${DIFF} output/ex2_21.out ex2_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex2_21 for mpiaij,np = 1,diffs above\n=========================================\n"; fi; \
${RM} -f ex2_1.tmp;
-@${MPIEXEC} -n 1 ./ex2 -mat_type mpidense > ex2_1.tmp 2>&1; \
if (${DIFF} output/ex2_22.out ex2_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex2_22 for mpidense,np = 1,diffs above\n=========================================\n"; fi; \
${RM} -f ex2_1.tmp;
-@${MPIEXEC} -n 3 ./ex2 -mat_type mpiaij > ex2_1.tmp 2>&1; \
if (${DIFF} output/ex2_23.out ex2_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex2_23 for mpiaij,np = 3,diffs above\n=========================================\n"; fi; \
${RM} -f ex2_1.tmp;
-@${MPIEXEC} -n 3 ./ex2 -mat_type mpidense > ex2_1.tmp 2>&1; \
if (${DIFF} output/ex2_24.out ex2_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex2_24 for mpidense,np = 3,diffs above\n=========================================\n"; fi; \
${RM} -f ex2_1.tmp;
runex2_3:
-@${MPIEXEC} -n 2 ./ex2 -mat_type mpiaij -rectA > ex2_3.tmp 2>&1; \
if (${DIFF} output/ex2_3.out ex2_3.tmp) then true; \
else printf "${PWD}\nPossible problem with ex2_3, diffs above\n=========================================\n"; fi; \
${RM} -f ex2_3.tmp
runex2_4:
-@${MPIEXEC} -n 2 ./ex2 -mat_type mpidense -rectA > ex2_4.tmp 2>&1; \
if (${DIFF} output/ex2_4.out ex2_4.tmp) then true; \
else printf "${PWD}\nPossible problem with ex2_4, diffs above\n=========================================\n"; fi; \
${RM} -f ex2_4.tmp
runex2_aijcusparse:
-@${MPIEXEC} -n 1 ./ex2 -mat_type seqaijcusparse -rectA | grep -v "Mat Object" > ex2_1_aijcusparse.tmp 2>&1; \
if (${DIFF} output/ex2_11_A_aijcusparse.out ex2_1_aijcusparse.tmp) then true; \
else printf "${PWD}\nPossible problem with ex2_11_A for seqaijcusparse, diffs above\n=========================================\n"; fi; \
${RM} -f ex2_1_aijcusparse.tmp;
-@${MPIEXEC} -n 1 ./ex2 -mat_type seqaijcusparse -rectB | grep -v "Mat Object" > ex2_1_aijcusparse.tmp 2>&1; \
if (${DIFF} output/ex2_11_B_aijcusparse.out ex2_1_aijcusparse.tmp) then true; \
else printf "${PWD}\nPossible problem with ex2_11_B for seqaijcusparse, diffs above\n=========================================\n"; fi; \
${RM} -f ex2_1_aijcusparse.tmp;
runex2_2_aijcusparse:
-@${MPIEXEC} -n 1 ./ex2 -mat_type mpiaijcusparse > ex2_1_aijcusparse.tmp 2>&1; \
if (${DIFF} output/ex2_21_aijcusparse.out ex2_1_aijcusparse.tmp) then true; \
else printf "${PWD}\nPossible problem with ex2_21 for mpiaijcusparse,np = 1,diffs above\n=========================================\n"; fi; \
${RM} -f ex2_1_aijcusparse.tmp;
-@${MPIEXEC} -n 3 ./ex2 -mat_type mpiaijcusparse > ex2_1_aijcusparse.tmp 2>&1; \
if (${DIFF} output/ex2_23_aijcusparse.out ex2_1_aijcusparse.tmp) then true; \
else printf "${PWD}\nPossible problem with ex2_23 for mpiaijcusparse,np = 3,diffs above\n=========================================\n"; fi; \
${RM} -f ex2_1_aijcusparse.tmp;
runex2_3_aijcusparse:
-@${MPIEXEC} -n 2 ./ex2 -mat_type mpiaijcusparse -rectA > ex2_3_aijcusparse.tmp 2>&1; \
if (${DIFF} output/ex2_3_aijcusparse.out ex2_3_aijcusparse.tmp) then true; \
else printf "${PWD}\nPossible problem with ex2_3, for mpiaijcusparse diffs above\n=========================================\n"; fi; \
${RM} -f ex2_3_aijcusparse.tmp
runex3:
-@${MPIEXEC} -n 1 ./ex3 > ex3_1.tmp 2>&1; \
if (${DIFF} output/ex3_1.out ex3_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex3_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex3_1.tmp
runex4:
-@${MPIEXEC} -n 1 ./ex4 -mat_type aij > ex4_1.tmp 2>&1; \
if (${DIFF} output/ex4_1.out ex4_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex4_1 for mpiaij,np = 1,diffs above\n=========================================\n"; fi; \
${RM} -f ex4_1.tmp;
runex4_2:
-@${MPIEXEC} -n 1 ./ex4 -mat_type dense > ex4_1.tmp 2>&1; \
if (${DIFF} output/ex4_2.out ex4_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex4_2 for mpidense,np = 1,diffs above\n=========================================\n"; fi; \
${RM} -f ex4_1.tmp;
runex4_3:
-@${MPIEXEC} -n 3 ./ex4 -mat_type aij > ex4_1.tmp 2>&1; \
if (${DIFF} output/ex4_3.out ex4_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex4_3 for mpiaij,np = 3,diffs above\n=========================================\n"; fi; \
${RM} -f ex4_1.tmp;
runex4_4:
-@${MPIEXEC} -n 3 ./ex4 -mat_type dense > ex4_1.tmp 2>&1; \
if (${DIFF} output/ex4_4.out ex4_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex4_4 for mpidense,np = 3,diffs above\n=========================================\n"; fi; \
${RM} -f ex4_1.tmp;
runex4_5:
-@${MPIEXEC} -n 3 ./ex4 -mat_type aij -test_all > ex4_1.tmp 2>&1; \
if (${DIFF} output/ex4_5.out ex4_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex4_5 for mpiaij,np = 3,diffs above\n=========================================\n"; fi; \
${RM} -f ex4_1.tmp;
runex5:
-@${MPIEXEC} -n 1 ./ex5 -mat_type seqaij -rectA > ex5_1.tmp 2>&1; \
if (${DIFF} output/ex5_11_A.out ex5_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex5_11_A for seqaij, diffs above\n=========================================\n"; fi; \
${RM} -f ex5_1.tmp;
-@${MPIEXEC} -n 1 ./ex5 -mat_type seqdense -rectA > ex5_1.tmp 2>&1; \
if (${DIFF} output/ex5_12_A.out ex5_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex5_12_A for seqdense, diffs above\n=========================================\n"; fi; \
${RM} -f ex5_1.tmp;
-@${MPIEXEC} -n 1 ./ex5 -mat_type seqaij -rectB > ex5_1.tmp 2>&1; \
if (${DIFF} output/ex5_11_B.out ex5_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex5_11_B for seqaij, diffs above\n=========================================\n"; fi; \
${RM} -f ex5_1.tmp;
-@${MPIEXEC} -n 1 ./ex5 -mat_type seqdense -rectB > ex5_1.tmp 2>&1; \
if (${DIFF} output/ex5_12_B.out ex5_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex5_12_B for seqdense, diffs above\n=========================================\n"; fi; \
${RM} -f ex5_1.tmp;
runex5_2:
-@${MPIEXEC} -n 1 ./ex5 -mat_type mpiaij > ex5_1.tmp 2>&1; \
if (${DIFF} output/ex5_21.out ex5_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex5_21 for mpiaij,np = 1,diffs above\n=========================================\n"; fi; \
${RM} -f ex5_1.tmp;
-@${MPIEXEC} -n 1 ./ex5 -mat_type mpidense > ex5_1.tmp 2>&1; \
if (${DIFF} output/ex5_22.out ex5_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex5_22 for mpidense,np = 1,diffs above\n=========================================\n"; fi; \
${RM} -f ex5_1.tmp;
-@${MPIEXEC} -n 3 ./ex5 -mat_type mpiaij > ex5_1.tmp 2>&1; \
if (${DIFF} output/ex5_23.out ex5_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex5_23 for mpiaij,np = 3,diffs above\n=========================================\n"; fi; \
${RM} -f ex5_1.tmp;
-@${MPIEXEC} -n 3 ./ex5 -mat_type mpidense > ex5_1.tmp 2>&1; \
if (${DIFF} output/ex5_24.out ex5_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex5_24 for mpidense,np = 3,diffs above\n=========================================\n"; fi; \
${RM} -f ex5_1.tmp;
runex5_3:
-@${MPIEXEC} -n 1 ./ex5 -mat_type mpiaij -test_diagonalscale > ex5_3.tmp 2>&1; \
if (${DIFF} output/ex5_31.out ex5_3.tmp) then true; \
else printf "${PWD}\nPossible problem with ex5_31 for mpiaij,np = 1,diffs above\n=========================================\n"; fi; \
${RM} -f ex5_3.tmp;
-@${MPIEXEC} -n 1 ./ex5 -mat_type mpibaij -test_diagonalscale > ex5_3.tmp 2>&1; \
if (${DIFF} output/ex5_32.out ex5_3.tmp) then true; \
else printf "${PWD}\nPossible problem with ex5_32 for mpibaij,np = 1,diffs above\n=========================================\n"; fi; \
${RM} -f ex5_3.tmp;
-@${MPIEXEC} -n 3 ./ex5 -mat_type mpiaij -test_diagonalscale > ex5_3.tmp 2>&1; \
if (${DIFF} output/ex5_33.out ex5_3.tmp) then true; \
else printf "${PWD}\nPossible problem with ex5_33 for mpiaij,np = 3,diffs above\n=========================================\n"; fi; \
${RM} -f ex5_3.tmp;
-@${MPIEXEC} -n 3 ./ex5 -mat_type mpibaij -test_diagonalscale > ex5_3.tmp 2>&1; \
if (${DIFF} output/ex5_34.out ex5_3.tmp) then true; \
else printf "${PWD}\nPossible problem with ex5_34 for mpibaij,np = 3,diffs above\n=========================================\n"; fi; \
${RM} -f ex5_3.tmp;
runex5_aijcusparse:
-@${MPIEXEC} -n 1 ./ex5 -mat_type seqaijcusparse -vec_type cuda -rectA > ex5_1_aijcusparse.tmp 2>&1; \
if (${DIFF} output/ex5_11_A.out ex5_1_aijcusparse.tmp) then true; \
else printf "${PWD}\nPossible problem with ex5_11_A for seqaijcusparse, diffs above\n=========================================\n"; fi; \
${RM} -f ex5_1_aijcusparse.tmp;
-@${MPIEXEC} -n 1 ./ex5 -mat_type seqaijcusparse -vec_type cuda -rectB > ex5_1_aijcusparse.tmp 2>&1; \
if (${DIFF} output/ex5_11_B.out ex5_1_aijcusparse.tmp) then true; \
else printf "${PWD}\nPossible problem with ex5_11_B for seqaijcusparse, diffs above\n=========================================\n"; fi; \
${RM} -f ex5_1_aijcusparse.tmp;
runex5_2_aijcusparse:
-@${MPIEXEC} -n 1 ./ex5 -mat_type mpiaijcusparse -vec_type cuda > ex5_1_aijcusparse.tmp 2>&1; \
if (${DIFF} output/ex5_21.out ex5_1_aijcusparse.tmp) then true; \
else printf "${PWD}\nPossible problem with ex5_21 for mpiaijcusparse,np = 1,diffs above\n=========================================\n"; fi; \
${RM} -f ex5_1_aijcusparse.tmp;
-@${MPIEXEC} -n 3 ./ex5 -mat_type mpiaijcusparse -vec_type cuda > ex5_1_aijcusparse.tmp 2>&1; \
if (${DIFF} output/ex5_23.out ex5_1_aijcusparse.tmp) then true; \
else printf "${PWD}\nPossible problem with ex5_23 for mpiaijcusparse,np = 3,diffs above\n=========================================\n"; fi; \
${RM} -f ex5_1_aijcusparse.tmp;
runex5_3_aijcusparse:
-@${MPIEXEC} -n 1 ./ex5 -mat_type mpiaijcusparse -vec_type cuda -test_diagonalscale > ex5_3_aijcusparse.tmp 2>&1; \
if (${DIFF} output/ex5_31.out ex5_3_aijcusparse.tmp) then true; \
else printf "${PWD}\nPossible problem with ex5_31 for mpiaijcusparse,np = 1,diffs above\n=========================================\n"; fi; \
${RM} -f ex5_3_aijcusparse.tmp;
-@${MPIEXEC} -n 3 ./ex5 -mat_type mpiaijcusparse -vec_type cuda -test_diagonalscale > ex5_3_aijcusparse.tmp 2>&1; \
if (${DIFF} output/ex5_33.out ex5_3_aijcusparse.tmp) then true; \
else printf "${PWD}\nPossible problem with ex5_33 for mpiaijcusparse,np = 3,diffs above\n=========================================\n"; fi; \
${RM} -f ex5_3_aijcusparse.tmp;
runex6:
-@${MPIEXEC} -n 1 ./ex6 > ex6_1.tmp 2>&1; \
if (${DIFF} output/ex6_1.out ex6_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex6_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex6_1.tmp
runex7:
-@${MPIEXEC} -n 1 ./ex7 | grep -v "MPI processes" > ex7_1.tmp 2>&1; \
if (${DIFF} output/ex7_1.out ex7_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex7_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex7_1.tmp
runex8:
-@${MPIEXEC} -n 1 ./ex8 > ex8_1.tmp 2>&1; \
if (${DIFF} output/ex8_1.out ex8_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex8_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex8_1.tmp
runex9:
-@${MPIEXEC} -n 3 ./ex9 -view_info > ex9.tmp 2>&1; \
if (${DIFF} output/ex9_1.out ex9.tmp) then true; \
else printf "${PWD}\nPossible problem with ex9_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex9.tmp
runex9_2:
-@${MPIEXEC} -n 3 ./ex9 -nsubcomms 2 -view_mat -psubcomm_type interlaced > ex9.tmp 2>&1; \
if (${DIFF} output/ex9_2.out ex9.tmp) then true; \
else printf "${PWD}\nPossible problem with ex9_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex9.tmp
runex9_3:
-@${MPIEXEC} -n 3 ./ex9 -nsubcomms 2 -view_mat -psubcomm_type contiguous > ex9.tmp 2>&1; \
if (${DIFF} output/ex9_3.out ex9.tmp) then true; \
else printf "${PWD}\nPossible problem with ex9_3, diffs above\n=========================================\n"; fi; \
${RM} -f ex9.tmp
runex9_3_baij:
-@${MPIEXEC} -n 3 ./ex9 -mat_type baij -nsubcomms 2 -view_mat > ex9.tmp 2>&1; \
if (${DIFF} output/ex9_3_baij.out ex9.tmp) then true; \
else printf "${PWD}\nPossible problem with ex9_3_baij, diffs above\n=========================================\n"; fi; \
${RM} -f ex9.tmp
runex9_4_baij:
-@${MPIEXEC} -n 3 ./ex9 -mat_type baij -nsubcomms 2 -view_mat -psubcomm_type interlaced > ex9.tmp 2>&1; \
if (${DIFF} output/ex9_4_baij.out ex9.tmp) then true; \
else printf "${PWD}\nPossible problem with ex9_4_baij, diffs above\n=========================================\n"; fi; \
${RM} -f ex9.tmp
runex9_3_sbaij:
-@${MPIEXEC} -n 3 ./ex9 -mat_type sbaij -nsubcomms 2 -view_mat > ex9.tmp 2>&1; \
if (${DIFF} output/ex9_3_sbaij.out ex9.tmp) then true; \
else printf "${PWD}\nPossible problem with ex9_3_sbaij, diffs above\n=========================================\n"; fi; \
${RM} -f ex9.tmp
runex9_4_sbaij:
-@${MPIEXEC} -n 3 ./ex9 -mat_type sbaij -nsubcomms 2 -view_mat -psubcomm_type interlaced > ex9.tmp 2>&1; \
if (${DIFF} output/ex9_4_sbaij.out ex9.tmp) then true; \
else printf "${PWD}\nPossible problem with ex9_4_sbaij, diffs above\n=========================================\n"; fi; \
${RM} -f ex9.tmp
runex10:
-@${MPIEXEC} -n 1 ./ex10 > ex10_1.tmp 2>&1; \
if (${DIFF} output/ex10_1.out ex10_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex10_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex10_1.tmp
runex11:
-@${MPIEXEC} -n 1 ./ex11 > ex11_1.tmp 2>&1; \
if (${DIFF} output/ex11_1.out ex11_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex11_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex11_1.tmp
runex11_2:
-@${MPIEXEC} -n 1 ./ex11 -mat_type seqbaij -mat_block_size 5 > ex11_2.tmp 2>&1; \
if (${DIFF} output/ex11_2.out ex11_2.tmp) then true; \
else printf "${PWD}\nPossible problem with ex11_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex11_2.tmp
runex11_3:
-@${MPIEXEC} -n 1 ./ex11 -keep_nonzero_pattern > ex11_3.tmp 2>&1; \
if (${DIFF} output/ex11_3.out ex11_3.tmp) then true; \
else printf "${PWD}\nPossible problem with ex11_3, diffs above\n=========================================\n"; fi; \
${RM} -f ex11_3.tmp
runex11_4:
-@${MPIEXEC} -n 1 ./ex11 -keep_nonzero_pattern -mat_type seqbaij -mat_block_size 5 > ex11_4.tmp 2>&1; \
if (${DIFF} output/ex11_4.out ex11_4.tmp) then true; \
else printf "${PWD}\nPossible problem with ex11_4, diffs above\n=========================================\n"; fi; \
${RM} -f ex11_4.tmp
runex12:
-@${MPIEXEC} -n 2 ./ex12 | grep -v "MPI processes" > ex12_1.tmp 2>&1; \
if (${DIFF} output/ex12_1.out ex12_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex12_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex12_1.tmp
runex12_2:
-@${MPIEXEC} -n 3 ./ex12 -mat_type mpibaij -mat_block_size 3 | grep -v "MPI processes" > ex12_2.tmp 2>&1; \
if (${DIFF} output/ex12_2.out ex12_2.tmp) then true; \
else printf "${PWD}\nPossible problem with ex12_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex12_2.tmp
runex12_3:
-@${MPIEXEC} -n 3 ./ex12 -mat_type mpiaij -keep_nonzero_pattern | grep -v "MPI processes"> ex12_3.tmp 2>&1; \
if (${DIFF} output/ex12_3.out ex12_3.tmp) then true; \
else printf "${PWD}\nPossible problem with ex12_3, diffs above\n=========================================\n"; fi; \
${RM} -f ex12_3.tmp
runex12_4:
-@${MPIEXEC} -n 3 ./ex12 -keep_nonzero_pattern -mat_type mpibaij -mat_block_size 3 | grep -v "MPI processes"> ex12_4.tmp 2>&1; \
if (${DIFF} output/ex12_4.out ex12_4.tmp) then true; \
else printf "${PWD}\nPossible problem with ex12_4, diffs above\n=========================================\n"; fi; \
${RM} -f ex12_4.tmp
runex13:
-@${MPIEXEC} -n 1 ./ex13 | grep -v "MPI processes" > ex13_1.tmp 2>&1; \
if (${DIFF} output/ex13_1.out ex13_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex13_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex13_1.tmp
runex14:
-@${MPIEXEC} -n 1 ./ex14 > ex14_1.tmp 2>&1; \
if (${DIFF} output/ex14_1.out ex14_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex14_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex14_1.tmp
runex15:
-@${MPIEXEC} -n 1 ./ex15 > ex15_1.tmp 2>&1; \
if (${DIFF} output/ex15_1.out ex15_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex15_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex15_1.tmp
runex16:
-@${MPIEXEC} -n 2 ./ex16 > ex16_1.tmp 2>&1; \
if (${DIFF} output/ex16_1.out ex16_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex16_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex16_1.tmp matrix.dat matrix.dat.info
runex16f90:
-@${MPIEXEC} -n 2 ./ex16f90 | sort -b > ex16f90_1.tmp 2>&1; \
if (sort -b output/ex16f90_1.out | ${DIFF} - ex16f90_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex16f90_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex16f90_1.tmp
runex17:
-@${MPIEXEC} -n 1 ./ex17 > ex17_1.tmp 2>&1; \
if (${DIFF} output/ex17_1.out ex17_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex17_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex17_1.tmp
runex18:
-@${MPIEXEC} -n 1 ./ex18 > ex18_0.tmp 2>&1; \
if (${DIFF} output/ex18_0.out ex18_0.tmp) then true; \
else printf "${PWD}\nPossible problem with ex18_0, diffs above\n=========================================\n"; fi; \
${RM} -f ex18_0.tmp
runex18_1:
-@${MPIEXEC} -n 2 ./ex18 > ex18_1.tmp 2>&1; \
if (${DIFF} output/ex18_1.out ex18_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex18_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex18_1.tmp
runex18_2:
-@${MPIEXEC} -n 7 ./ex18 > ex18_2.tmp 2>&1; \
if (${DIFF} output/ex18_2.out ex18_2.tmp) then true; \
else printf "${PWD}\nPossible problem with ex18_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex18_2.tmp
runex18_3:
-@${MPIEXEC} -n 1 ./ex18 -mat_type baij > ex18_3.tmp 2>&1; \
if (${DIFF} output/ex18_3.out ex18_3.tmp) then true; \
else printf "${PWD}\nPossible problem with ex18_3, diffs above\n=========================================\n"; fi; \
${RM} -f ex18_3.tmp
runex18_4:
-@${MPIEXEC} -n 2 ./ex18 -mat_type baij > ex18_4.tmp 2>&1; \
if (${DIFF} output/ex18_4.out ex18_4.tmp) then true; \
else printf "${PWD}\nPossible problem with ex18_4, diffs above\n=========================================\n"; fi; \
${RM} -f ex18_4.tmp
runex18_5:
-@${MPIEXEC} -n 7 ./ex18 -mat_type baij > ex18_5.tmp 2>&1; \
if (${DIFF} output/ex18_5.out ex18_5.tmp) then true; \
else printf "${PWD}\nPossible problem with ex18_5, diffs above\n=========================================\n"; fi; \
${RM} -f ex18_5.tmp
runex18_6:
-@${MPIEXEC} -n 1 ./ex18 -bs 2 -mat_type baij > ex18_6.tmp 2>&1; \
if (${DIFF} output/ex18_6.out ex18_6.tmp) then true; \
else printf "${PWD}\nPossible problem with ex18_6, diffs above\n=========================================\n"; fi; \
${RM} -f ex18_6.tmp
runex18_7:
-@${MPIEXEC} -n 2 ./ex18 -bs 2 -mat_type baij > ex18_7.tmp 2>&1; \
if (${DIFF} output/ex18_7.out ex18_7.tmp) then true; \
else printf "${PWD}\nPossible problem with ex18_7, diffs above\n=========================================\n"; fi; \
${RM} -f ex18_7.tmp
runex18_8:
-@${MPIEXEC} -n 7 ./ex18 -bs 2 -mat_type baij > ex18_8.tmp 2>&1; \
if (${DIFF} output/ex18_8.out ex18_8.tmp) then true; \
else printf "${PWD}\nPossible problem with ex18_8, diffs above\n=========================================\n"; fi; \
${RM} -f ex18_8.tmp
runex18_9:
-@${MPIEXEC} -n 1 ./ex18 -bs 2 -nonlocal_bc > ex18_9.tmp 2>&1; \
if (${DIFF} output/ex18_9.out ex18_9.tmp) then true; \
else printf "${PWD}\nPossible problem with ex18_9, diffs above\n=========================================\n"; fi; \
${RM} -f ex18_9.tmp
runex18_10:
-@${MPIEXEC} -n 2 ./ex18 -bs 2 -nonlocal_bc > ex18_10.tmp 2>&1; \
if (${DIFF} output/ex18_10.out ex18_10.tmp) then true; \
else printf "${PWD}\nPossible problem with ex18_10, diffs above\n=========================================\n"; fi; \
${RM} -f ex18_10.tmp
runex18_11:
-@${MPIEXEC} -n 7 ./ex18 -bs 2 -nonlocal_bc > ex18_11.tmp 2>&1; \
if (${DIFF} output/ex18_11.out ex18_11.tmp) then true; \
else printf "${PWD}\nPossible problem with ex18_11, diffs above\n=========================================\n"; fi; \
${RM} -f ex18_11.tmp
runex18_12:
-@${MPIEXEC} -n 1 ./ex18 -bs 2 -nonlocal_bc -mat_type baij > ex18_12.tmp 2>&1; \
if (${DIFF} output/ex18_12.out ex18_12.tmp) then true; \
else printf "${PWD}\nPossible problem with ex18_12, diffs above\n=========================================\n"; fi; \
${RM} -f ex18_12.tmp
runex18_13:
-@${MPIEXEC} -n 2 ./ex18 -bs 2 -nonlocal_bc -mat_type baij > ex18_13.tmp 2>&1; \
if (${DIFF} output/ex18_13.out ex18_13.tmp) then true; \
else printf "${PWD}\nPossible problem with ex18_13, diffs above\n=========================================\n"; fi; \
${RM} -f ex18_13.tmp
runex18_14:
-@${MPIEXEC} -n 7 ./ex18 -bs 2 -nonlocal_bc -mat_type baij > ex18_14.tmp 2>&1; \
if (${DIFF} output/ex18_14.out ex18_14.tmp) then true; \
else printf "${PWD}\nPossible problem with ex18_14, diffs above\n=========================================\n"; fi; \
${RM} -f ex18_14.tmp
runex19:
-@${MPIEXEC} -n 4 ./ex19 > ex19_1.tmp 2>&1; \
if (${DIFF} output/ex19_1.out ex19_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex19_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex19_1.tmp
runex20:
-@${MPIEXEC} -n 1 ./ex20 -conv_mat_type seqaij > ex20_1.tmp 2>&1; \
if (${DIFF} output/ex20_1.out ex20_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex20_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex20_1.tmp
runex21:
-@${MPIEXEC} -n 1 ./ex21 -mat_type seqaij > ex21_1.tmp 2>&1; \
if (${DIFF} output/ex21_1.out ex21_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex21_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex21_1.tmp
runex22:
-@${MPIEXEC} -n 1 ./ex22 > ex22_1.tmp 2>&1; \
if (${DIFF} output/ex22_1.out ex22_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex22_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex22_1.tmp
runex23:
-@${MPIEXEC} -n 1 ./ex23 -test_trans > ex23_1.tmp 2>&1; \
if (${DIFF} output/ex23_1.out ex23_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex23_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex23_1.tmp
runex23_2:
-@${MPIEXEC} -n 4 ./ex23 -matis_convert_local_nest -nr 3 -nc 4 > ex23_2.tmp 2>&1; \
if (${DIFF} output/ex23_2.out ex23_2.tmp) then true; \
else printf "${PWD}\nPossible problem with ex23_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex23_2.tmp
runex23_3:
-@${MPIEXEC} -n 5 ./ex23 -m 11 -n 10 -matis_convert_local_nest -nr 2 -nc 1 > ex23_3.tmp 2>&1; \
if (${DIFF} output/ex23_3.out ex23_3.tmp) then true; \
else printf "${PWD}\nPossible problem with ex23_3, diffs above\n=========================================\n"; fi; \
${RM} -f ex23_3.tmp
runex23_4:
-@${MPIEXEC} -n 6 ./ex23 -m 9 -n 12 -test_trans -nr 2 -nc 7 > ex23_4.tmp 2>&1; \
if (${DIFF} output/ex23_4.out ex23_4.tmp) then true; \
else printf "${PWD}\nPossible problem with ex23_4, diffs above\n=========================================\n"; fi; \
${RM} -f ex23_4.tmp
runex26:
-@${MPIEXEC} -n 1 ./ex26 > ex26_1.tmp 2>&1; \
if (${DIFF} output/ex26_1.out ex26_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex26_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex26_1.tmp
runex26_2:
-@${MPIEXEC} -n 1 ./ex26 -bs 2 > ex26_2.tmp 2>&1; \
if (${DIFF} output/ex26_2.out ex26_2.tmp) then true; \
else printf "${PWD}\nPossible problem with ex26_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex26_2.tmp
runex29:
-@${MPIEXEC} -n 1 ./ex29 > ex29_1.tmp 2>&1; \
if (${DIFF} output/ex29_1.out ex29_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex29_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex29_1.tmp
runex30:
-@${MPIEXEC} -n 1 ./ex30 -mat_ordering -display_matrices -nox | grep -v "MPI processes" > ex30_1.tmp 2>&1; \
if (${DIFF} output/ex30_1.out ex30_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex30_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex30_1.tmp
runex30_2:
-@${MPIEXEC} -n 1 ./ex30 -mat_ordering -display_matrices -nox -lu > ex30_2.tmp 2>&1; \
if (${DIFF} output/ex30_2.out ex30_2.tmp) then true; \
else printf "${PWD}\nPossible problem with ex30_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex30_2.tmp
runex30_3:
-@${MPIEXEC} -n 1 ./ex30 -mat_ordering -lu -triangular_solve > ex30_3.tmp 2>&1; \
if (${DIFF} output/ex30_3.out ex30_3.tmp) then true; \
else printf "${PWD}\nPossible problem with ex30_3, diffs above\n=========================================\n"; fi; \
${RM} -f ex30_3.tmp
runex30_4:
-@${MPIEXEC} -n 1 ./ex30 > ex30_4.tmp 2>&1; \
if (${DIFF} output/ex30_4.out ex30_4.tmp) then true; \
else printf "${PWD}\nPossible problem with ex30_4, diffs above\n=========================================\n"; fi; \
${RM} -f ex30_4.tmp
runex30_5:
-@${MPIEXEC} -n 1 ./ex30 -lu > ex30_5.tmp 2>&1; \
if (${DIFF} output/ex30_5.out ex30_5.tmp) then true; \
else printf "${PWD}\nPossible problem with ex30_5, diffs above\n=========================================\n"; fi; \
${RM} -f ex30_5.tmp
runex30_6:
-@${MPIEXEC} -n 1 ./ex30 -lu -triangular_solve > ex30_3.tmp 2>&1; \
if (${DIFF} output/ex30_3.out ex30_3.tmp) then true; \
else printf "${PWD}\nPossible problem with ex30_6, diffs above\n=========================================\n"; fi; \
${RM} -f ex30_3.tmp
runex31:
-@${MPIEXEC} -n 1 ./ex31 | grep -v "MPI processes" > ex31_1.tmp 2>&1; \
if (${DIFF} output/ex31_1.out ex31_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex31_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex31_1.tmp matrix.dat matrix.dat.info
runex35:
-@${MPIEXEC} -n 1 ./ex35 > ex35_1.tmp 2>&1; \
if (${DIFF} output/ex35_1.out ex35_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex35_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex35_1.tmp
runex36f:
-@${MPIEXEC} -n 1 ./ex36f > ex36_1.tmp 2>&1; \
if (${DIFF} output/ex36_1.out ex36_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex36f_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex36_1.tmp
runex37:
-@${MPIEXEC} -n 1 ./ex37 | grep -v "MPI processes"> ex37_1.tmp 2>&1; \
if (${DIFF} output/ex37_1.out ex37_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex37_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex37_1.tmp
runex37_2:
-@${MPIEXEC} -n 3 ./ex37 | grep -v "MPI processes"> ex37_1.tmp 2>&1; \
if (${DIFF} output/ex37_2.out ex37_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex37_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex37_1.tmp
runex37_3:
-@${MPIEXEC} -n 1 ./ex37 -mat_type baij -mat_block_size 1 | grep -v "MPI processes" > ex37_1.tmp 2>&1; \
if (${DIFF} output/ex37_3.out ex37_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex37_3, diffs above\n=========================================\n"; fi; \
${RM} -f ex37_1.tmp
runex37_4:
-@${MPIEXEC} -n 1 ./ex37 -mat_type baij -mat_block_size 2 | grep -v "MPI processes"> ex37_1.tmp 2>&1; \
if (${DIFF} output/ex37_4.out ex37_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex37_4, diffs above\n=========================================\n"; fi; \
${RM} -f ex37_1.tmp
runex37_5:
-@${MPIEXEC} -n 2 ./ex37 -mat_type baij -mat_block_size 1 | grep -v "MPI processes"> ex37_1.tmp 2>&1; \
if (${DIFF} output/ex37_5.out ex37_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex37_5, diffs above\n=========================================\n"; fi; \
${RM} -f ex37_1.tmp
runex37_6:
-@${MPIEXEC} -n 2 ./ex37 -mat_type baij -mat_block_size 2 | grep -v "MPI processes"> ex37_1.tmp 2>&1; \
if (${DIFF} output/ex37_6.out ex37_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex37_6, diffs above\n=========================================\n"; fi; \
${RM} -f ex37_1.tmp
runex38:
-@${MPIEXEC} -n 2 ./ex38 -mat_type elemental -m 2 -n 3 > ex38_1.tmp 2>&1; \
${DIFF} output/ex38_1.out ex38_1.tmp || printf "${PWD}\nPossible problem with ex38_1, diffs above\n=========================================\n"; \
${RM} -f ex38_1.tmp
runex38_2:
-@${MPIEXEC} -n 6 ./ex38 -mat_type elemental -m 2 -n 2 > ex38_2.tmp 2>&1; \
${DIFF} output/ex38_2.out ex38_2.tmp || printf "${PWD}\nPossible problem with ex38_2, diffs above\n=========================================\n"; \
${RM} -f ex38_2.tmp
runex38_3:
-@${MPIEXEC} -n 6 ./ex38 -mat_type elemental -m 2 -n 2 -test_matmatmult > ex38_2.tmp 2>&1; \
${DIFF} output/ex38_2.out ex38_2.tmp || printf "${PWD}\nPossible problem with ex38_3, diffs above\n=========================================\n"; \
${RM} -f ex38_2.tmp
runex39:
-@${MPIEXEC} -n 2 ./ex39 -m 3 -n 2 > ex39_1.tmp 2>&1; \
${DIFF} output/ex39_1.out ex39_1.tmp || printf "${PWD}\nPossible problem with ex39_1, diffs above\n=========================================\n"; \
${RM} -f ex39_1.tmp
runex39_2:
-@${MPIEXEC} -n 6 ./ex39 -m 2 -n 3 > ex39_2.tmp 2>&1; \
${DIFF} output/ex39_2.out ex39_2.tmp || printf "${PWD}\nPossible problem with ex39_2, diffs above\n=========================================\n"; \
${RM} -f ex39_2.tmp
# See http://www.mcs.anl.gov/petsc/documentation/faq.html#datafiles for how to obtain the datafiles used below
runex40:
-@${MPIEXEC} -n 3 ./ex40 -f ${DATAFILESPATH}/matrices/arco1 -nd 7 -ov 2 > ex40_1.tmp 2>&1; \
grep -v "flg =1" ex40_1.tmp > ex40_12.tmp; \
if (${DIFF} output/ex40_1.out ex40_12.tmp) then true; \
else printf "${PWD}\nPossible problem with ex40_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex40_1.tmp ex40_12.tmp
runex40_2:
-@${MPIEXEC} -n 3 ./ex40 -f ${wPETSC_DIR}/share/petsc/datafiles/matrices/ns-real-int32-float64 -mat_increase_overlap_scalable 1 -nd 7 -ov 2 > ex40_2.tmp 2>&1; \
grep -v "flg =1" ex40_2.tmp > ex40_22.tmp; \
if (${DIFF} output/ex40_2.out ex40_22.tmp) then true; \
else printf "${PWD}\nPossible problem with ex40_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex40_2.tmp ex40_22.tmp
runex41:
-@${MPIEXEC} -n 3 ./ex41 -f ${DATAFILESPATH}/matrices/arco1 -nd 3 -ov 1 > ex41_1.tmp 2>&1; \
grep -v "flg =1" ex41_1.tmp > ex41_12.tmp; \
if (${DIFF} output/ex41_1.out ex41_12.tmp) then true; \
else printf "${PWD}\nPossible problem with ex41_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex41_1.tmp ex41_12.tmp
runex42:
-@${MPIEXEC} -n 3 ./ex42 -f ${DATAFILESPATH}/matrices/arco1 \
-nd 5 -ov 2 > ex42_1.tmp 2>&1; \
grep -v "flg =1" ex42_1.tmp > ex42_12.tmp; \
if (${DIFF} output/ex42_1.out ex42_12.tmp) then true; \
else printf "${PWD}\nPossible problem with ex42_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex42_1.tmp ex42_12.tmp
runex42_2:
-@${MPIEXEC} -n 1 ./ex42 -f ${DATAFILESPATH}/matrices/arco1 \
-nd 8 -ov 2 > ex42_2.tmp 2>&1; \
if (${DIFF} output/ex42_2.out ex42_2.tmp) then true; \
else printf "${PWD}\nPossible problem with ex42_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex42_2.tmp
runex42_unsorted_seq:
-@${MPIEXEC} -n 1 ./ex42 -f ${DATAFILESPATH}/matrices/arco1 \
-nd 8 -test_unsorted > ex42_unsorted_seq.tmp 2>&1; \
if (${DIFF} output/ex42_unsorted_seq.out ex42_unsorted_seq.tmp) then true; \
else printf "${PWD}\nPossible problem with ex42_unsorted_seq, diffs above\n==============================\n"; fi; \
${RM} -f ex42_unsorted_seq.tmp
runex42_unsorted_mpi:
-@${MPIEXEC} -n 3 ./ex42 -f ${DATAFILESPATH}/matrices/arco1 \
-nd 8 -test_unsorted > ex42_unsorted_mpi.tmp 2>&1; \
if (${DIFF} output/ex42_unsorted_mpi.out ex42_unsorted_mpi.tmp) then true; \
else printf "${PWD}\nPossible problem with ex42_unsorted_mpi, diffs above\n==============================\n"; fi; \
${RM} -f ex42_unsorted_mpi.tmp
runex42_unsorted_baij_seq:
-@${MPIEXEC} -n 1 ./ex42 -f ${DATAFILESPATH}/matrices/cfd.1.10 \
-nd 8 -mat_type baij -test_unsorted > ex42_unsorted_baij_seq.tmp 2>&1; \
if (${DIFF} output/ex42_unsorted_baij_seq.out ex42_unsorted_baij_seq.tmp) then true; \
else printf "${PWD}\nPossible problem with ex42_unsorted_baij_seq, diffs above\n==============================\n"; fi; \
${RM} -f ex42_unsorted_baij_seq.tmp
runex42_unsorted_baij_mpi:
-@${MPIEXEC} -n 3 ./ex42 -f ${DATAFILESPATH}/matrices/cfd.1.10 \
-nd 8 -mat_type baij -test_unsorted > ex42_unsorted_baij_mpi.tmp 2>&1; \
if (${DIFF} output/ex42_unsorted_baij_mpi.out ex42_unsorted_baij_mpi.tmp) then true; \
else printf "${PWD}\nPossible problem with ex42_unsorted_baij_mpi, diffs above\n==============================\n"; fi; \
${RM} -f ex42_unsorted_baij_mpi.tmp
runex45:
-@${MPIEXEC} -n 1 ./ex45 ; \
${RM} -f array.dat
runex46:
-@${MPIEXEC} -n 2 ./ex46 > ex46_1.tmp 2>&1; \
${DIFF} output/ex46_1.out ex46_1.tmp || printf "${PWD}\nPossible problems with ex46, diffs above\n=========================================\n"; \
${RM} -f ex46_1.tmp
# See http://www.mcs.anl.gov/petsc/documentation/faq.html#datafiles for how to obtain the datafiles used below
runex47:
-@${MPIEXEC} -n 1 ./ex47 -f ${DATAFILESPATH}/matrices/cfd.1.10 -mat_block_size 5 > ex47_1.tmp 2>&1; \
if (${DIFF} output/ex47_1.out ex47_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex47_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex47_1.tmp
MATBLOCKSIZE = 1 2 3 4 5 6 7 8
runex48:
-@touch ex48_1.tmp;\
for bs in ${MATBLOCKSIZE}; do \
${MPIEXEC} -n 1 ./ex48 -mat_block_size $$bs >> ex48_1.tmp 2>&1; \
done; \
if (${DIFF} output/ex48_1.out ex48_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex48_1, diffs above\n========================================= with: -mat_block_size $$bs"; fi; \
${RM} -f ex48_1.tmp
MATSIZE = 11 13
OVERLAP = 1 3
NODOMAINS = 7
runex51:
-@touch ex51_1.tmp;\
for bs in ${MATBLOCKSIZE}; do \
for matsize in ${MATSIZE}; do \
for ov in ${OVERLAP}; do\
for nd in ${NODOMAINS}; do \
${MPIEXEC} -n 1 ./ex51 -mat_block_size $$bs -ov $$ov \
-mat_size $$matsize -nd $$nd >> ex51_1.tmp 2>&1; \
done;\
done;\
done;\
done;\
grep -v "flg =1" ex51_1.tmp > ex51_12.tmp; \
if (${DIFF} output/ex51_1.out ex51_12.tmp) then true; \
else printf "${PWD}\nPossible problem with ex51_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex51_1.tmp ex51_12.tmp
runex52_1:
-@${MPIEXEC} -n 3 ./ex52 -mat_block_size 2 -test_setvaluesblocked > ex52_1.tmp 2>&1;\
if (${DIFF} output/ex52_1.out ex52_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex52_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex52_1.tmp
runex52_2:
-@${MPIEXEC} -n 3 ./ex52 -mat_block_size 2 -test_setvaluesblocked -column_oriented > ex52_2.tmp 2>&1;\
if (${DIFF} output/ex52_2.out ex52_2.tmp) then true; \
else printf "${PWD}\nPossible problem with ex52_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex52_2.tmp
runex52_3:
-@${MPIEXEC} -n 3 ./ex52 -mat_block_size 1 -test_setvaluesblocked > ex52_3.tmp 2>&1;\
if (${DIFF} output/ex52_3.out ex52_3.tmp) then true; \
else printf "${PWD}\nPossible problem with ex52_3, diffs above\n=========================================\n"; fi; \
${RM} -f ex52_3.tmp
runex52_4:
-@${MPIEXEC} -n 3 ./ex52 -mat_block_size 1 -test_setvaluesblocked -column_oriented > ex52_4.tmp 2>&1;\
if (${DIFF} output/ex52_4.out ex52_4.tmp) then true; \
else printf "${PWD}\nPossible problem with ex52_4, diffs above\n=========================================\n"; fi; \
${RM} -f ex52_4.tmp
# See http://www.mcs.anl.gov/petsc/documentation/faq.html#datafiles for how to obtain the datafiles used below
runex53:
-@${MPIEXEC} -n 3 ./ex53 -matload_block_size 1 -f ${DATAFILESPATH}/matrices/small > ex53_1.tmp 2>&1;\
${MPIEXEC} -n 3 ./ex53 -matload_block_size 2 -f ${DATAFILESPATH}/matrices/small >> ex53_1.tmp 2>&1;\
${MPIEXEC} -n 4 ./ex53 -matload_block_size 3 -f ${DATAFILESPATH}/matrices/small >> ex53_1.tmp 2>&1;\
${MPIEXEC} -n 3 ./ex53 -matload_block_size 4 -f ${DATAFILESPATH}/matrices/small >> ex53_1.tmp 2>&1;\
${MPIEXEC} -n 3 ./ex53 -matload_block_size 5 -f ${DATAFILESPATH}/matrices/small >> ex53_1.tmp 2>&1;\
${MPIEXEC} -n 3 ./ex53 -matload_block_size 6 -f ${DATAFILESPATH}/matrices/small >> ex53_1.tmp 2>&1;\
${MPIEXEC} -n 3 ./ex53 -matload_block_size 7 -f ${DATAFILESPATH}/matrices/small >> ex53_1.tmp 2>&1;\
${MPIEXEC} -n 3 ./ex53 -matload_block_size 8 -f ${DATAFILESPATH}/matrices/small >> ex53_1.tmp 2>&1;\
if (${DIFF} output/ex53_1.out ex53_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex53_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex53_1.tmp
runex54:
-@for bs in ${MATBLOCKSIZE}; do \
for matsize in ${MATSIZE}; do \
for ov in ${OVERLAP}; do\
for nd in ${NODOMAINS}; do \
for np in ${NPROCS}; do \
${MPIEXEC} -n $$np ./ex54 -mat_block_size $$bs -ov $$ov -mat_size $$matsize -nd $$nd ;\
done; \
done;\
done;\
done;\
done;
runex54_2:
-@${MPIEXEC} -n 1 ./ex54 -nd 2 -test_nd0 > ex54.tmp 2>&1; \
if (${DIFF} output/ex54.out ex54.tmp) then true; \
else printf "${PWD}\nPossible problem with ex54_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex54.tmp
runex54_3:
-@${MPIEXEC} -n 3 ./ex54 -nd 2 -test_nd0 > ex54.tmp 2>&1; \
if (${DIFF} output/ex54.out ex54.tmp) then true; \
else printf "${PWD}\nPossible problem with ex54_3, diffs above\n=========================================\n"; fi; \
${RM} -f ex54.tmp
runex55:
-@${MPIEXEC} -n 1 ./ex55 > ex55_1.tmp 2>&1; \
if (${DIFF} output/ex55_1.out ex55_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex55_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex55_1.tmp
runex55_2:
-@${MPIEXEC} -n 3 ./ex55 > ex55_2.tmp 2>&1; \
if (${DIFF} output/ex55_2.out ex55_2.tmp) then true; \
else printf "${PWD}\nPossible problem with ex55_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex55_2.tmp
runex56:
-@${MPIEXEC} -n 1 ./ex56 | grep -v "MPI processes" > ex56_1.tmp 2>&1; \
if (${DIFF} output/ex56_1.out ex56_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex56_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex56_1.tmp
runex56_4:
-@${MPIEXEC} -n 3 ./ex56 -ass_extern | grep -v "MPI processes"> ex56_4.tmp 2>&1; \
if (${DIFF} output/ex56_4.out ex56_4.tmp) then true; \
else printf "${PWD}\nPossible problem with ex56_4, diffs above\n=========================================\n"; fi; \
${RM} -f ex56_4.tmp
runex56_5:
-@${MPIEXEC} -n 3 ./ex56 -ass_extern -zero_rows| grep -v "MPI processes" > ex56_5.tmp 2>&1; \
if (${DIFF} output/ex56_5.out ex56_5.tmp) then true; \
else printf "${PWD}\nPossible problem with ex56_5, diffs above\n=========================================\n"; fi; \
${RM} -f ex56_5.tmp
runex58f:
-@${MPIEXEC} -n 1 ./ex58f -f ${wPETSC_DIR}/share/petsc/datafiles/matrices/spd-real-int32-float64 > ex58f_1.tmp 2>&1; \
if (${DIFF} output/ex58f_1.out ex58f_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex58f_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex58f_1.tmp
runex59:
-@${MPIEXEC} -n 1 ./ex59 > ex59_1.tmp 2>&1; \
if (${DIFF} output/ex59_1.out ex59_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex59_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex59_1.tmp
runex59_2:
-@${MPIEXEC} -n 3 ./ex59 > ex59_2.tmp 2>&1; \
if (${DIFF} output/ex59_2.out ex59_2.tmp) then true; \
else printf "${PWD}\nPossible problem with ex59_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex59_2.tmp
runex59_baij:
-@${MPIEXEC} -n 1 ./ex59 -mat_type baij > ex59_1.tmp 2>&1; \
if (${DIFF} output/ex59_1_baij.out ex59_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex59_1_baij, diffs above\n=========================================\n"; fi; \
${RM} -f ex59_1.tmp
runex59_2_baij:
-@${MPIEXEC} -n 3 ./ex59 -mat_type baij > ex59_2.tmp 2>&1; \
if (${DIFF} output/ex59_2_baij.out ex59_2.tmp) then true; \
else printf "${PWD}\nPossible problem with ex59_2_baij, diffs above\n=========================================\n"; fi; \
${RM} -f ex59_2.tmp
runex59_sbaij:
-@${MPIEXEC} -n 1 ./ex59 -mat_type sbaij > ex59_1.tmp 2>&1; \
if (${DIFF} output/ex59_1_sbaij.out ex59_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex59_1_sbaij, diffs above\n=========================================\n"; fi; \
${RM} -f ex59_1.tmp
runex59_2_sbaij:
-@${MPIEXEC} -n 3 ./ex59 -mat_type sbaij > ex59_2.tmp 2>&1; \
if (${DIFF} output/ex59_2_sbaij.out ex59_2.tmp) then true; \
else printf "${PWD}\nPossible problem with ex59_2_sbaij, diffs above\n=========================================\n"; fi; \
${RM} -f ex59_2.tmp
runex60:
-@${MPIEXEC} -n 3 ./ex60 -col 7 > ex60_1.tmp 2>&1; \
if (${DIFF} output/ex60_1.out ex60_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex60_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex60_1.tmp
runex61:
-@${MPIEXEC} -n 1 ./ex61 > ex61_1.tmp 2>&1; \
if (${DIFF} output/ex61_1.out ex61_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex61_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex61_1.tmp
runex61_2:
-@${MPIEXEC} -n 1 ./ex61 -baij > ex61_2.tmp 2>&1; \
if (${DIFF} output/ex61_2.out ex61_2.tmp) then true; \
else printf "${PWD}\nPossible problem with ex61_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex61_2.tmp
runex63f:
-@${MPIEXEC} -n 2 ./ex63f > ex63_1.tmp 2>&1; \
if (${DIFF} output/ex63_1.out ex63_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex63f_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex63_1.tmp dense.mat
runex67f:
-@${MPIEXEC} -n 1 ./ex67f -binary_read_double -options_left false > ex67f_1.tmp 2>&1; \
if (${DIFF} output/ex67f_1.out ex67f_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex67f_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex67f_1.tmp
runex67f_2:
-@${MPIEXEC} -n 3 ./ex67f -binary_read_double -options_left false > ex67f_1.tmp 2>&1; \
if (${DIFF} output/ex67f_1.out ex67f_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex67f_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex67f_1.tmp
runex68:
-@${MPIEXEC} -n 1 ./ex68 > ex68_1.tmp 2>&1; \
${DIFF} output/ex68_1.out ex68_1.tmp || printf "${PWD}\nPossible problem with ex68, diffs above\n=========================================\n"; \
${RM} -f ex68_1.tmp
runex72:
-@${MPIEXEC} -n 1 ./ex72 -fin ../../../../share/petsc/datafiles/matrices/amesos2_test_mat0.mtx -fout outputfile > ex72_1.tmp 2>&1; \
if (${DIFF} output/ex72_1.out ex72_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex72, diffs above\n=========================================\n"; fi; \
${RM} -f ex72_1.tmp outputfile outputfile.info
# See http://www.mcs.anl.gov/petsc/documentation/faq.html#datafiles for how to obtain the datafiles used below
runex73:
-@${MPIEXEC} -n 3 ./ex73 -nox -f ${DATAFILESPATH}/matrices/arco1 -mat_partitioning_type parmetis -viewer_binary_skip_info
MATBLOCKSIZE = 1 2 3 4 5 6 7 8
runex74:
-@touch ex74_1.tmp;\
for bs in ${MATBLOCKSIZE}; do \
${MPIEXEC} -n 1 ./ex74 -bs $$bs >> ex74_1.tmp 2>&1; \
done; \
if (${DIFF} output/ex74_1.out ex74_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex74_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex74_1.tmp
NPROCS = 1 2 3
runex75:
-@touch ex75_1.tmp;\
for np in ${NPROCS}; do \
for bs in ${MATBLOCKSIZE}; do \
${MPIEXEC} -n $$np ./ex75 -bs $$bs -mat_ignore_lower_triangular >> ex75_1.tmp 2>&1; \
done; \
done; \
if (${DIFF} output/ex75_1.out ex75_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex75_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex75_1.tmp
runex76:
-@touch ex76_1.tmp;\
for bs in ${MATBLOCKSIZE}; do \
${MPIEXEC} -n 1 ./ex76 -bs $$bs >> ex76_1.tmp 2>&1; \
done; \
if (${DIFF} output/ex76_1.out ex76_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex76, diffs above\n=========================================\n"; fi; \
${RM} -f ex76_1.tmp
runex76_3:
-@touch ex76_1.tmp;\
${MPIEXEC} -n 1 ./ex76 -testaij >> ex76_1.tmp 2>&1; \
if (${DIFF} output/ex76_1.out ex76_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex76_3, diffs above\n=========================================\n"; fi; \
${RM} -f ex76_1.tmp
#runex77:
# -@touch ex77_1.tmp;\
# for bs in ${MATBLOCKSIZE}; do \
# ${MPIEXEC} -n 1 ex77 -bs $$bs >> ex77_1.tmp 2>&1; \
# done; \
# if (${DIFF} output/ex77_1.out ex77_1.tmp) then true; \
# else printf "${PWD}\nPossible problem with ex77_1, diffs above\n=========================================\n"; fi; \
# ${RM} -f ex77_1.tmp
runex78:
-@${MPIEXEC} -n 1 ./ex78 -Ain ~/matrices/indefinite/afiro_A.dat -bin \
~/matrices/indefinite/afiro_b.dat -uin ~/matrices/indefinite/afiro_u.dat > ex78_1.tmp 2>&1; \
if (${DIFF} output/ex78_1.out ex78_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex78_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex78_1.tmp matrix.dat matrix.dat.info
runex79f:
-@${MPIEXEC} -n 1 ./ex79f -binary_read_double -options_left false > ex79f_1.tmp 2>&1; \
if (${DIFF} output/ex79f_1.out ex79f_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex79f_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex79f_1.tmp fort.7
runex82:
-@${MPIEXEC} -n 4 ./ex82 > ex82.tmp 2>&1; \
if (${DIFF} output/ex82.out ex82.tmp) then true; \
else printf "${PWD}\nPossible problem with ex82, diffs above\n=========================================\n"; fi; \
${RM} -f ex82.tmp
runex85f:
-@${MPIEXEC} -n 1 ./ex85f > ex85f_1.tmp 2>&1; \
if (${DIFF} output/ex85f_1.out ex85f_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex85f_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex85f_1.tmp
runex86:
-@${MPIEXEC} -n 3 ./ex86 > ex86_1.tmp 2>&1; \
${DIFF} output/ex86_1.out ex86_1.tmp || printf "${PWD}\nPossible problem with ex86_1, diffs above\n=========================================\n"; \
${RM} -f ex86_1.tmp
runex86_2:
-@${MPIEXEC} -n 3 ./ex86 -mat_type baij > ex86_1.tmp 2>&1; \
${DIFF} output/ex86_2.out ex86_1.tmp || printf "${PWD}\nPossible problem with ex86_2, diffs above\n=========================================\n"; \
${RM} -f ex86_1.tmp
runex86_3:
-@${MPIEXEC} -n 3 ./ex86 -mat_type baij -bs 2 > ex86_1.tmp 2>&1; \
${DIFF} output/ex86_3.out ex86_1.tmp || printf "${PWD}\nPossible problem with ex86_3, diffs above\n=========================================\n"; \
${RM} -f ex86_1.tmp
runex88:
-@${MPIEXEC} -n 1 ./ex88 > ex88_1.tmp 2>&1; \
${DIFF} output/ex88_1.out ex88_1.tmp || printf "${PWD}\nPossible problem with ex88_1, diffs above\n=========================================\n"; \
${RM} -f ex88_1.tmp
runex91:
-@${MPIEXEC} -n 1 ./ex91 -ov 2 > ex91_1.tmp 2>&1; \
if (${DIFF} output/ex91_1.out ex91_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex91_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex91_1.tmp
OVERLAP = 1 3
BS = 2 8
runex92:
-@touch ex92_1.tmp;\
for ov in ${OVERLAP}; do \
for bs in ${BS}; do \
${MPIEXEC} -n 1 ./ex92 -ov $$ov -mat_block_size $$bs -test_overlap -test_submat >> ex92_1.tmp 2>&1; \
done; \
done; \
if (${DIFF} output/ex92_1.out ex92_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex92_1: ./ex92 -ov $$ov -mat_block_size $$bs -test_overlap -test_submat, diffs above\n=========================================\n"; fi; \
${RM} -f ex92_1.tmp
NPROCS = 3 4
runex92_2:
-@touch ex92_1.tmp;\
for np in ${NPROCS}; do \
for ov in ${OVERLAP}; do \
for bs in ${BS}; do \
${MPIEXEC} -n $$np ./ex92 -ov $$ov -mat_block_size $$bs -test_overlap -test_submat >> ex92_1.tmp 2>&1; \
done; \
done; \
done; \
if (${DIFF} output/ex92_1.out ex92_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex92_2, -n $$np ./ex92 -ov $$ov -mat_block_size $$bs -test_overlap -test_submat, diffs above\n=========================================\n"; fi; \
${RM} -f ex92_1.tmp
runex92_3:
-@touch ex92_1.tmp;\
for np in ${NPROCS}; do \
for ov in ${OVERLAP}; do \
for bs in ${BS}; do \
${MPIEXEC} -n $$np ./ex92 -ov $$ov -mat_block_size $$bs -test_overlap -test_allcols >> ex92_1.tmp 2>&1; \
done; \
done; \
done; \
if (${DIFF} output/ex92_1.out ex92_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex92_3, -n $$np ./ex92 -ov $$ov -mat_block_size $$bs -test_overlap -test_allcols, diffs above\n=========================================\n"; fi; \
${RM} -f ex92_1.tmp
runex92_3_sorted:
-@touch ex92_1.tmp;\
for np in ${NPROCS}; do \
for ov in ${OVERLAP}; do \
for bs in ${BS}; do \
${MPIEXEC} -n $$np ./ex92 -ov $$ov -mat_block_size $$bs -test_overlap -test_allcols -test_sorted >> ex92_1.tmp 2>&1; \
done; \
done; \
done; \
if (${DIFF} output/ex92_1.out ex92_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex92_3_sorted, -n $$np ./ex92 -ov $$ov -mat_block_size $$bs -test_overlap -test_allcols -test_unsorted, diffs above\n=========================================\n"; fi; \
${RM} -f ex92_1.tmp
runex92_4:
-@touch ex92_1.tmp;\
for np in ${NPROCS}; do \
for ov in ${OVERLAP}; do \
for bs in ${BS}; do \
${MPIEXEC} -n $$np ./ex92 -ov $$ov -mat_block_size $$bs -test_submat -test_allcols >> ex92_1.tmp 2>&1; \
done; \
done; \
done; \
if (${DIFF} output/ex92_1.out ex92_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex92_4, -n $$np ./ex92 -ov $$ov -mat_block_size $$bs -test_submat -test_allcols, diffs above\n=========================================\n"; fi; \
${RM} -f ex92_1.tmp
runex93:
-@${MPIEXEC} -n 1 ./ex93 > ex93_1.tmp 2>&1; \
if (${DIFF} output/ex93_1.out ex93_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex93_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex93_1.tmp
runex93_scalable:
-@${MPIEXEC} -n 1 ./ex93 -B_matmatmult_via scalable > ex93_1.tmp 2>&1; \
if (${DIFF} output/ex93_1.out ex93_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex93_scalable, diffs above\n=========================================\n"; fi; \
${RM} -f ex93_1.tmp
runex93_scalable_fast:
-@${MPIEXEC} -n 1 ./ex93 -B_matmatmult_via scalable_fast > ex93_1.tmp 2>&1; \
if (${DIFF} output/ex93_1.out ex93_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex93_scalable_fast, diffs above\n=========================================\n"; fi; \
${RM} -f ex93_1.tmp
runex93_heap:
-@${MPIEXEC} -n 1 ./ex93 -B_matmatmult_via heap> ex93_1.tmp 2>&1; \
if (${DIFF} output/ex93_1.out ex93_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex93_heap, diffs above\n=========================================\n"; fi; \
${RM} -f ex93_1.tmp
runex93_btheap:
-@${MPIEXEC} -n 1 ./ex93 -B_matmatmult_via btheap> ex93_1.tmp 2>&1; \
if (${DIFF} output/ex93_1.out ex93_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex93_btheap, diffs above\n=========================================\n"; fi; \
${RM} -f ex93_1.tmp
runex93_llcondensed:
-@${MPIEXEC} -n 1 ./ex93 -B_matmatmult_via llcondensed > ex93_1.tmp 2>&1; \
if (${DIFF} output/ex93_1.out ex93_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex93_llcondensed, diffs above\n=========================================\n"; fi; \
${RM} -f ex93_1.tmp
runex93_2:
-@${MPIEXEC} -n 2 ./ex93 -B_matmatmult_via nonscalable > ex93_1.tmp 2>&1; \
if (${DIFF} output/ex93_2.out ex93_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex93_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex93_1.tmp
runex93_rap:
-@${MPIEXEC} -n 2 ./ex93 > ex93_1.tmp 2>&1; \
if (${DIFF} output/ex93_2.out ex93_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex93_rap, diffs above\n=========================================\n"; fi; \
${RM} -f ex93_1.tmp
runex93_ptap:
-@${MPIEXEC} -n 2 ./ex93 -matrap false > ex93_1.tmp 2>&1; \
if (${DIFF} output/ex93_2.out ex93_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex93_ptap, diffs above\n=========================================\n"; fi; \
${RM} -f ex93_1.tmp
runex93_hypre:
-@${MPIEXEC} -n 3 ./ex93 -B_matmatmult_via hypre -A_matptap_via hypre -test_hypre > ex93_1.tmp 2>&1; \
if (${DIFF} output/ex93_hypre.out ex93_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex93_hypre, diffs above\n=========================================\n"; fi; \
${RM} -f ex93_1.tmp
runex93_ptap_scalable:
-@${MPIEXEC} -n 2 ./ex93 -A_matptap_via scalable > ex93_1.tmp 2>&1; \
if (${DIFF} output/ex93_2.out ex93_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex93_ptap_scalable, diffs above\n=========================================\n"; fi; \
${RM} -f ex93_1.tmp
# See http://www.mcs.anl.gov/petsc/documentation/faq.html#datafiles for how to obtain the datafiles used below
runex94_matmatmult:
-@${MPIEXEC} -n 1 ./ex94 -f0 ${DATAFILESPATH}/matrices/arco1 -f1 ${DATAFILESPATH}/matrices/arco1 -viewer_binary_skip_info > ex94_1.tmp 2>&1; \
if (${DIFF} output/ex94_1.out ex94_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex94_matmatmult, diffs above\n=========================================\n"; fi; \
${RM} -f ex94_1.tmp
runex94_matmatmult_2:
-@${MPIEXEC} -n 1 ./ex94 -f0 ${DATAFILESPATH}/matrices/arco1 -f1 ${DATAFILESPATH}/matrices/arco1 -mat_type mpiaij -viewer_binary_skip_info > ex94_1.tmp 2>&1; \
if (${DIFF} output/ex94_1.out ex94_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex94_matmatmult_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex94_1.tmp
runex94_matmatmult_scalable:
-@${MPIEXEC} -n 4 ./ex94 -f0 ${DATAFILESPATH}/matrices/arco1 -f1 ${DATAFILESPATH}/matrices/arco1 -matmatmult_via scalable > ex94_1.tmp 2>&1; \
if (${DIFF} output/ex94_1.out ex94_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex94_matmatmult_scalable, diffs above\n=========================================\n"; fi; \
${RM} -f ex94_1.tmp
runex94_scalable0:
-@${MPIEXEC} -n 1 ./ex94 -f0 ${DATAFILESPATH}/matrices/arco1 -f1 ${DATAFILESPATH}/matrices/arco1 -viewer_binary_skip_info -matptap_via nonscalable > ex94_1.tmp 2>&1; \
if (${DIFF} output/ex94_1.out ex94_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex94_scalable0, diffs above\n=========================================\n"; fi; \
${RM} -f ex94_1.tmp
runex94_scalable1:
-@${MPIEXEC} -n 1 ./ex94 -f0 ${DATAFILESPATH}/matrices/arco1 -f1 ${DATAFILESPATH}/matrices/arco1 -viewer_binary_skip_info -matptap_via scalable > ex94_1.tmp 2>&1; \
if (${DIFF} output/ex94_1.out ex94_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex94_scalable1, diffs above\n=========================================\n"; fi; \
${RM} -f ex94_1.tmp
runex94_2_mattransposematmult_nonscalable:
-@${MPIEXEC} -n 3 ./ex94 -f0 ${DATAFILESPATH}/matrices/medium -f1 ${DATAFILESPATH}/matrices/medium -mattransposematmult_via nonscalable> ex94_2.tmp 2>&1; \
if (${DIFF} output/ex94_1.out ex94_2.tmp) then true; \
else printf "${PWD}\nPossible problem with ex94_2_mattransposematmult, diffs above\n=========================================\n"; fi; \
${RM} -f ex94_2.tmp
runex94_2_mattransposematmult_matmatmult:
-@${MPIEXEC} -n 3 ./ex94 -f0 ${DATAFILESPATH}/matrices/medium -f1 ${DATAFILESPATH}/matrices/medium -mattransposematmult_via matmatmult> ex94_2.tmp 2>&1; \
if (${DIFF} output/ex94_1.out ex94_2.tmp) then true; \
else printf "${PWD}\nPossible problem with ex94_2_mattransposematmult, diffs above\n=========================================\n"; fi; \
${RM} -f ex94_2.tmp
runex94_rap:
-@${MPIEXEC} -n 3 ./ex94 -f0 ${DATAFILESPATH}/matrices/medium -f1 ${DATAFILESPATH}/matrices/medium > ex94_2.tmp 2>&1; \
if (${DIFF} output/ex94_1.out ex94_2.tmp) then true; \
else printf "${PWD}\nPossible problem with ex94_rap, diffs above\n=========================================\n"; fi; \
${RM} -f ex94_2.tmp
runex94_ptap:
-@${MPIEXEC} -n 3 ./ex94 -f0 ${DATAFILESPATH}/matrices/medium -f1 ${DATAFILESPATH}/matrices/medium -matrap false > ex94_2.tmp 2>&1; \
if (${DIFF} output/ex94_1.out ex94_2.tmp) then true; \
else printf "${PWD}\nPossible problem with ex94_ptap, diffs above\n=========================================\n"; fi; \
${RM} -f ex94_2.tmp
runex94_axpy_seqaij:
-@${MPIEXEC} -n 1 ./ex94 -f0 ${DATAFILESPATH}/matrices/EigenProblems/jifengzhao/petsc_stiff20.dat -f1 ${DATAFILESPATH}/matrices/EigenProblems/jifengzhao/petsc_mass20.dat -test_MatAXPY > ex94_1.tmp 2>&1; \
if (${DIFF} output/ex94_1.out ex94_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex94_axpy_seqaij, diffs above\n=========================================\n"; fi; \
${RM} -f ex94_1.tmp
runex94_axpy_mpiaij:
-@${MPIEXEC} -n 8 ./ex94 -f0 ${DATAFILESPATH}/matrices/EigenProblems/jifengzhao/petsc_stiff20.dat -f1 ${DATAFILESPATH}/matrices/EigenProblems/jifengzhao/petsc_mass20.dat -test_MatAXPY > ex94_1.tmp 2>&1; \
if (${DIFF} output/ex94_1.out ex94_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex94_axpy_mpiaij, diffs above\n=========================================\n"; fi; \
${RM} -f ex94_1.tmp
runex94_axpy_seqbaij:
-@${MPIEXEC} -n 1 ./ex94 -f0 ${DATAFILESPATH}/matrices/EigenProblems/jifengzhao/petsc_stiff20.dat -f1 ${DATAFILESPATH}/matrices/EigenProblems/jifengzhao/petsc_mass20.dat -test_MatAXPY -mat_type baij > ex94_1.tmp 2>&1; \
if (${DIFF} output/ex94_1.out ex94_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex94_axpy_seqbaij, diffs above\n=========================================\n"; fi; \
${RM} -f ex94_1.tmp
runex94_axpy_mpibaij:
-@${MPIEXEC} -n 8 ./ex94 -f0 ${DATAFILESPATH}/matrices/EigenProblems/jifengzhao/petsc_stiff20.dat -f1 ${DATAFILESPATH}/matrices/EigenProblems/jifengzhao/petsc_mass20.dat -test_MatAXPY -mat_type baij > ex94_1.tmp 2>&1; \
if (${DIFF} output/ex94_1.out ex94_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex94_axpy_mpibaij, diffs above\n=========================================\n"; fi; \
${RM} -f ex94_1.tmp
runex94_axpy_seqsbaij:
-@${MPIEXEC} -n 1 ./ex94 -f0 ${DATAFILESPATH}/matrices/EigenProblems/jifengzhao/petsc_stiff20.dat -f1 ${DATAFILESPATH}/matrices/EigenProblems/jifengzhao/petsc_mass20.dat -test_MatAXPY -mat_type sbaij > ex94_1.tmp 2>&1; \
if (${DIFF} output/ex94_1.out ex94_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex94_axpy_seqsbaij, diffs above\n=========================================\n"; fi; \
${RM} -f ex94_1.tmp
runex94_axpy_mpisbaij:
-@${MPIEXEC} -n 8 ./ex94 -f0 ${DATAFILESPATH}/matrices/EigenProblems/jifengzhao/petsc_stiff20.dat -f1 ${DATAFILESPATH}/matrices/EigenProblems/jifengzhao/petsc_mass20.dat -test_MatAXPY -mat_type sbaij > ex94_1.tmp 2>&1; \
if (${DIFF} output/ex94_1.out ex94_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex94_axpy_mpisbaij, diffs above\n=========================================\n"; fi; \
${RM} -f ex94_1.tmp
runex95:
-@${MPIEXEC} -n 3 ./ex95 | grep -v "MPI processes" > ex95_1.tmp 2>&1; \
if (${DIFF} output/ex95_1.out ex95_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex95_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex95_1.tmp
runex95_2:
-@${MPIEXEC} -n 1 ./ex95 | grep -v "MPI processes" > ex95_1.tmp 2>&1; \
if (${DIFF} output/ex95_2.out ex95_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex95_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex95_1.tmp
runex96:
-@${MPIEXEC} -n 3 ./ex96 -Mx 10 -My 5 > ex96.tmp 2>&1; \
if (${DIFF} output/ex96.out ex96.tmp) then true; \
else printf "${PWD}\nPossible problem with ex96, diffs above\n=========================================\n"; fi; \
${RM} -f ex96.tmp
runex97:
-@${MPIEXEC} -n 3 ./ex97 > ex97.tmp 2>&1; \
${DIFF} output/ex97_1.out ex97.tmp || printf "${PWD}\nPossible problem with ex97, diffs above\n=========================================\n"; \
${RM} -f ex97.tmp
runex98:
-@${MPIEXEC} -n 4 ./ex98 > ex98.tmp 2>&1; \
if (${DIFF} output/ex98.out ex98.tmp) then true; \
else printf "${PWD}\nPossible problem with ex98, diffs above\n=========================================\n"; fi; \
${RM} -f ex98.tmp
# See http://www.mcs.anl.gov/petsc/documentation/faq.html#datafiles for how to obtain the datafiles used below
NPROCS = 1 3
DOF = 1 2 3 4 5 6 8 9 16
runex100:
-@touch ex100.tmp;\
for np in ${NPROCS}; do \
for dof in ${DOF}; do \
${MPIEXEC} -n $$np ./ex100 -f ${DATAFILESPATH}/matrices/arco1 -dof $$dof -viewer_binary_skip_info > ex100.tmp 2>&1; \
if (${DIFF} output/ex100.out ex100.tmp) then true; \
else printf "${PWD}\nPossible problem with ex100 with:";\
echo ${MPIEXEC} -n $$np ./ex100 -f ${DATAFILESPATH}/matrices/arco1 -dof $$dof -viewer_binary_skip_info; fi; \
done; \
done; \
${RM} -f ex100.tmp
runex101:
-@${MPIEXEC} -n 1 ./ex101 > ex101.tmp 2>&1; \
if (${DIFF} output/ex101.out ex101.tmp) then true; \
else printf "${PWD}\nPossible problem with ex101_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex101.tmp
runex102_1:
-@${MPIEXEC} -n 2 ./ex102 -view_product > ex102_1.tmp 2>&1; \
if (${DIFF} output/ex102_1.out ex102_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex102_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex102_1.tmp
runex102_2:
-@${MPIEXEC} -n 2 ./ex102 -low_rank -view_product > ex102_2.tmp 2>&1; \
if (${DIFF} output/ex102_2.out ex102_2.tmp) then true; \
else printf "${PWD}\nPossible problem with ex102_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex102_2.tmp
runex102_3:
-@${MPIEXEC} -n 2 ./ex102 -use_c -view_product > ex102_3.tmp 2>&1; \
if (${DIFF} output/ex102_3.out ex102_3.tmp) then true; \
else printf "${PWD}\nPossible problem with ex102_3, diffs above\n=========================================\n"; fi; \
${RM} -f ex102_3.tmp
runex103:
-@${MPIEXEC} -n 6 ./ex103 > ex103.tmp 2>&1; \
if (${DIFF} output/ex103.out ex103.tmp) then true; \
else printf "${PWD}\nPossible problem with ex103, diffs above\n=========================================\n"; fi; \
${RM} -f ex103.tmp
runex103_1:
-@${MPIEXEC} -n 6 ./ex103 -mat_type aij > ex103.tmp 2>&1; \
if (${DIFF} output/ex103.out ex103.tmp) then true; \
else printf "${PWD}\nPossible problem with ex103_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex103.tmp
runex103_2:
-@${MPIEXEC} -n 6 ./ex103 -mat_type elemental > ex103.tmp 2>&1; \
if (${DIFF} output/ex103.out ex103.tmp) then true; \
else printf "${PWD}\nPossible problem with ex103_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex103.tmp
runex104:
-@${MPIEXEC} -n 1 ./ex104 > ex104.tmp 2>&1; \
if (${DIFF} output/ex104.out ex104.tmp) then true; \
else printf "${PWD}\nPossible problem with ex104, diffs above\n=========================================\n"; fi; \
${RM} -f ex104.tmp
runex104_2:
-@${MPIEXEC} -n 4 ./ex104 -M 200 -N 50 > ex104.tmp 2>&1; \
if (${DIFF} output/ex104.out ex104.tmp) then true; \
else printf "${PWD}\nPossible problem with ex104_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex104.tmp
runex104_elemental:
-@${MPIEXEC} -n 1 ./ex104 -mat_type elemental > ex104.tmp 2>&1; \
if (${DIFF} output/ex104.out ex104.tmp) then true; \
else printf "${PWD}\nPossible problem with ex104_elemental, diffs above\n=========================================\n"; fi; \
${RM} -f ex104.tmp
runex104_elemental_2:
-@${MPIEXEC} -n 3 ./ex104 -mat_type elemental > ex104.tmp 2>&1; \
if (${DIFF} output/ex104.out ex104.tmp) then true; \
else printf "${PWD}\nPossible problem with ex104_elemental_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex104.tmp
runex105f:
-@${MPIEXEC} -n 2 ./ex105f
runex107:
-@${MPIEXEC} -n 1 ./ex107 > ex107.tmp 2>&1; \
if (${DIFF} output/ex107.out ex107.tmp) then true; \
else printf "${PWD}\nPossible problem with ex107, diffs above\n=========================================\n"; fi; \
${RM} -f ex107.tmp
runex107_2:
-@${MPIEXEC} -n 1 ./ex107 -mat_type baij -mat_block_size 2 -m 10 > ex107.tmp 2>&1; \
if (${DIFF} output/ex107_2.out ex107.tmp) then true; \
else printf "${PWD}\nPossible problem with ex107_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex107.tmp
runex109:
-@${MPIEXEC} -n 1 ./ex109 > ex109.tmp 2>&1; \
if (${DIFF} output/ex109.out ex109.tmp) then true; \
else printf "${PWD}\nPossible problem with ex109, diffs above\n=========================================\n"; fi; \
${RM} -f ex109.tmp
runex109_1:
-@${MPIEXEC} -n 1 ./ex109 -M 10 -N 10> ex109.tmp 2>&1; \
if (${DIFF} output/ex109.out ex109.tmp) then true; \
else printf "${PWD}\nPossible problem with ex109_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex109.tmp
runex109_2:
-@${MPIEXEC} -n 3 ./ex109 > ex109.tmp 2>&1; \
if (${DIFF} output/ex109.out ex109.tmp) then true; \
else printf "${PWD}\nPossible problem with ex109_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex109.tmp
runex110:
-@${MPIEXEC} -n 3 ./ex110
# runex111_1 and runex111_2 are not run in testing since they take some nontrivial time
runex111:
-@${MPIEXEC} -n 1 ./ex111 -fA ${DATAFILESPATH}/matrices/matmatmult/K2.gz -fP ${DATAFILESPATH}/matrices/matmatmult/V2.gz > ex111.tmp 2>&1; \
if (${DIFF} output/ex111.out ex111.tmp) then true; \
else printf "${PWD}\nPossible problem with ex111_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex111.tmp
runex111_2:
-@${MPIEXEC} -n 4 ./ex111 -fA ${DATAFILESPATH}/matrices/matmatmult/K2.gz -fP ${DATAFILESPATH}/matrices/matmatmult/V2.gz > ex111.tmp 2>&1; \
if (${DIFF} output/ex111.out ex111.tmp) then true; \
else printf "${PWD}\nPossible problem with ex111_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex111.tmp
runex111_3:
-@${MPIEXEC} -n 4 ./ex111 -fA ${DATAFILESPATH}/matrices/matmatmult/A4.BGriffith -fP ${DATAFILESPATH}/matrices/matmatmult/P4.BGriffith > ex111.tmp 2>&1; \
if (${DIFF} output/ex111.out ex111.tmp) then true; \
else printf "${PWD}\nPossible problem with ex111_3, diffs above\n=========================================\n"; fi; \
${RM} -f ex111.tmp
runex112:
-@${MPIEXEC} -n 1 ./ex112 -mat_fftw_plannerflags FFTW_ESTIMATE > ex112_1.tmp 2>&1; \
if (${DIFF} output/ex112.out ex112_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex112_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex112_1.tmp
runex112_2: #error for complex, 32bit
-@${MPIEXEC} -n 1 ./ex112 -mat_fftw_plannerflags FFTW_MEASURE > ex112_2.tmp 2>&1; \
if (${DIFF} output/ex112.out ex112_2.tmp) then true; \
else printf "${PWD}\nPossible problem with ex112_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex112_2.tmp
runex112_3:
-@${MPIEXEC} -n 1 ./ex112 -mat_fftw_plannerflags FFTW_PATIENT > ex112_3.tmp 2>&1; \
if (${DIFF} output/ex112.out ex112_3.tmp) then true; \
else printf "${PWD}\nPossible problem with ex112_3, diffs above\n=========================================\n"; fi; \
${RM} -f ex112_3.tmp
runex112_4:
-@${MPIEXEC} -n 1 ./ex112 -mat_fftw_plannerflags FFTW_EXHAUSTIVE > ex112_4.tmp 2>&1; \
if (${DIFF} output/ex112.out ex112_4.tmp) then true; \
else printf "${PWD}\nPossible problem with ex112_4, diffs above\n=========================================\n"; fi; \
${RM} -f ex112_4.tmp
runex114:
-@${MPIEXEC} -n 1 ./ex114 > ex114_1.tmp 2>&1; \
if (${DIFF} output/ex114.out ex114_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex114_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex114_1.tmp
runex114_2:
-@${MPIEXEC} -n 2 ./ex114 > ex114_2.tmp 2>&1; \
if (${DIFF} output/ex114_2.out ex114_2.tmp) then true; \
else printf "${PWD}\nPossible problem with ex114_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex114_2.tmp
runex114_3:
-@${MPIEXEC} -n 2 ./ex114 -mat_type baij> ex114_3.tmp 2>&1; \
if (${DIFF} output/ex114_3.out ex114_3.tmp) then true; \
else printf "${PWD}\nPossible problem with ex114_3, diffs above\n=========================================\n"; fi; \
${RM} -f ex114_3.tmp
runex115_1:
-@${MPIEXEC} -n 1 ./ex115 -N 11 -M 11 > ex115_1.tmp 2>&1; \
if (${DIFF} output/ex115_1.out ex115_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex115_1, diffs above\n==============================\n"; fi; \
${RM} -f ex115_1.tmp
runex115_2:
-@${MPIEXEC} -n 3 ./ex115 -N 13 -M 13 -matmatmult_via hypre > ex115_2.tmp 2>&1; \
if (${DIFF} output/ex115_2.out ex115_2.tmp) then true; \
else printf "${PWD}\nPossible problem with ex115_2, diffs above\n==============================\n"; fi; \
${RM} -f ex115_2.tmp
runex115_3:
-@${MPIEXEC} -n 4 ./ex115 -M 13 -N 7 -matmatmult_via hypre > ex115_3.tmp 2>&1; \
if (${DIFF} output/ex115_3.out ex115_3.tmp) then true; \
else printf "${PWD}\nPossible problem with ex115_3, diffs above\n==============================\n"; fi; \
${RM} -f ex115_3.tmp
runex115_4:
-@${MPIEXEC} -n 2 ./ex115 -M 12 -N 19 > ex115_4.tmp 2>&1; \
if (${DIFF} output/ex115_4.out ex115_4.tmp) then true; \
else printf "${PWD}\nPossible problem with ex115_4, diffs above\n==============================\n"; fi; \
${RM} -f ex115_4.tmp
runex115_5:
-@${MPIEXEC} -n 3 ./ex115 -M 13 -N 13 -matptap_via hypre -matptap_hypre_outtype hypre > ex115_5.tmp 2>&1; \
if (${DIFF} output/ex115_5.out ex115_5.tmp) then true; \
else printf "${PWD}\nPossible problem with ex115_5, diffs above\n==============================\n"; fi; \
${RM} -f ex115_5.tmp
runex116:
-@${MPIEXEC} -n 1 ./ex116 -f ${DATAFILESPATH}/matrices/small > ex116_1.tmp 2>&1; \
if (${DIFF} output/ex116_1.out ex116_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex116_1, diffs above\n==============================\n"; fi; \
${RM} -f ex116_1.tmp
runex116_2:
-@${MPIEXEC} -n 1 ./ex116 -f ${DATAFILESPATH}/matrices/small -test_syev -check_symmetry > ex116_2.tmp 2>&1; \
if (${DIFF} output/ex116_2.out ex116_2.tmp) then true; \
else printf "${PWD}\nPossible problem with ex116_2, diffs above\n==============================\n"; fi; \
${RM} -f ex116_2.tmp
runex120:
-@${MPIEXEC} -n 1 ./ex120 > ex120_1.tmp 2>&1; \
if (${DIFF} output/ex120_1.out ex120_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex120_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex120_1.tmp
runex120_2:
-@${MPIEXEC} -n 1 ./ex120 -test_zheevx > ex120.tmp 2>&1; \
if (${DIFF} output/ex120_2.out ex120.tmp) then true; \
else printf "${PWD}\nPossible problem with ex120_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex120.tmp
runex120_3:
-@${MPIEXEC} -n 1 ./ex120 -test_zhegv > ex120.tmp 2>&1; \
if (${DIFF} output/ex120_3.out ex120.tmp) then true; \
else printf "${PWD}\nPossible problem with ex120_3, diffs above\n=========================================\n"; fi; \
${RM} -f ex120.tmp
runex120_4:
-@${MPIEXEC} -n 1 ./ex120 -test_zhegvx > ex120.tmp 2>&1; \
if (${DIFF} output/ex120_4.out ex120.tmp) then true; \
else printf "${PWD}\nPossible problem with ex120_4, diffs above\n=========================================\n"; fi; \
${RM} -f ex120.tmp
runex120f:
-@${MPIEXEC} -n 2 ./ex120f
runex121:
-@${MPIEXEC} -n 1 ./ex121 > ex121_1.tmp 2>&1; \
if (${DIFF} output/ex121.out ex121_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex121_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex121_1.tmp
runex122:
-@${MPIEXEC} -n 1 ./ex122 > ex122.tmp 2>&1; \
if (${DIFF} output/ex122.out ex122.tmp) then true; \
else printf "${PWD}\nPossible problem with ex122, diffs above\n=========================================\n"; fi; \
${RM} -f ex122.tmp
runex125:
-@${MPIEXEC} -n 1 ./ex125 -f ${DATAFILESPATH}/matrices/small -mat_solver_package 10 > ex125.tmp 2>&1; \
if (${DIFF} output/ex125.out ex125.tmp) then true; \
else printf "${PWD}\nPossible problem with ex125, diffs above\n=========================================\n"; fi; \
${RM} -f ex125.tmp
runex125_mumps:
-@${MPIEXEC} -n 1 ./ex125 -f ${DATAFILESPATH}/matrices/small -mat_solver_package 2 > ex125.tmp 2>&1; \
if (${DIFF} output/ex125_mumps_seq.out ex125.tmp) then true; \
else printf "${PWD}\nPossible problem with ex125_mumps, diffs above\n=========================================\n"; fi; \
${RM} -f ex125.tmp
runex125_mumps_2:
-@${MPIEXEC} -n 3 ./ex125 -f ${DATAFILESPATH}/matrices/small -mat_solver_package 2 > ex125.tmp 2>&1; \
if (${DIFF} output/ex125_mumps_par.out ex125.tmp) then true; \
else printf "${PWD}\nPossible problem with ex125_mumps_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex125.tmp
runex125_mkl_pardiso:
-@${MPIEXEC} -n 1 ./ex125 -f ${DATAFILESPATH}/matrices/small -mat_solver_package 3 > ex125.tmp 2>&1; \
if (${DIFF} output/ex125_mkl_pardiso.out ex125.tmp) then true; \
else printf "${PWD}\nPossible problem with ex125_mkl_pardiso, diffs above\n=========================================\n"; fi; \
${RM} -f ex125.tmp
runex125_superlu_dist:
-@${MPIEXEC} -n 1 ./ex125 -f ${DATAFILESPATH}/matrices/small -mat_solver_package 1 > ex125.tmp 2>&1; \
if (${DIFF} output/ex125_superlu_dist.out ex125.tmp) then true; \
else printf "${PWD}\nPossible problem with ex125_superlu_dist, diffs above\n=========================================\n"; fi; \
${RM} -f ex125.tmp
runex125_superlu_dist_2:
-@${MPIEXEC} -n 3 ./ex125 -f ${DATAFILESPATH}/matrices/small -mat_solver_package 1 > ex125.tmp 2>&1; \
if (${DIFF} output/ex125_superlu_dist.out ex125.tmp) then true; \
else printf "${PWD}\nPossible problem with ex125_superlu_dist_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex125.tmp
runex125_superlu_dist_complex:
-@${MPIEXEC} -n 3 ./ex125 -f ${DATAFILESPATH}/matrices/farzad_B_rhs -mat_solver_package 1 > ex125.tmp 2>&1; \
if (${DIFF} output/ex125_superlu_dist.out ex125.tmp) then true; \
else printf "${PWD}\nPossible problem with ex125_superlu_dist_complex, diffs above\n=========================================\n"; fi; \
${RM} -f ex125.tmp
runex126f:
-@${MPIEXEC} -n 1 ./ex126f > ex126_1.tmp 2>&1; \
if (${DIFF} output/ex126_1.out ex126_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex126f_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex126_1.tmp
runex127:
-@${MPIEXEC} -n 1 ./ex127 -n 1000 > ex127.tmp 2>&1; \
if (${DIFF} output/ex127.out ex127.tmp) then true; \
else printf "${PWD}\nPossible problem with ex127, diffs above\n=========================================\n"; fi; \
${RM} -f ex127.tmp
runex127_2:
-@${MPIEXEC} -n 3 ./ex127 -n 1000 > ex127.tmp 2>&1; \
if (${DIFF} output/ex127.out ex127.tmp) then true; \
else printf "${PWD}\nPossible problem with ex127_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex127.tmp
runex128:
-@${MPIEXEC} -n 1 ./ex128 > ex128.tmp 2>&1; \
if (${DIFF} output/ex128.out ex128.tmp) then true; \
else printf "${PWD}\nPossible problem with ex128, diffs above\n=========================================\n"; fi; \
${RM} -f ex128.tmp
runex128_2:
-@${MPIEXEC} -n 1 ./ex128 -cholesky -triangular_solve > ex128.tmp 2>&1; \
if (${DIFF} output/ex128_2.out ex128.tmp) then true; \
else printf "${PWD}\nPossible problem with ex128_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex128.tmp
runex129:
-@${MPIEXEC} -n 1 ./ex129 -dm_mat_type aij -dof 1 > ex129.tmp 2>&1; \
if (${DIFF} output/ex129.out ex129.tmp) then true; \
else printf "${PWD}\nPossible problem with ex129, diffs above\n=========================================\n"; fi; \
${RM} -f ex129.tmp
runex129_2:
-@${MPIEXEC} -n 1 ./ex129 -dm_mat_type aij -dof 1 -inplacelu > ex129.tmp 2>&1; \
if (${DIFF} output/ex129.out ex129.tmp) then true; \
else printf "${PWD}\nPossible problem with ex129_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex129.tmp
runex132:
-@${MPIEXEC} -n 1 ./ex132 > ex132_1.tmp 2>&1; \
if (${DIFF} output/ex132_1.out ex132_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex132_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex132_1.tmp
runex134:
-@${MPIEXEC} -n 2 ./ex134 -mat_ignore_lower_triangular | ${SED} 's,mem [0-9]\{4\},mem SKIP,' > ex134_1.tmp 2>&1; \
${DIFF} output/ex134_1.out ex134_1.tmp || printf "${PWD}\nPossible problem with ex134, diffs above\n=========================================\n"; \
${RM} -f ex134_1.tmp
runex135:
-@${MPIEXEC} -n 4 ./ex135 -n 1000 -mat_view ascii::ascii_info_detail | ${SED} 's,mem [0-9]\{5\},mem SKIP,' > ex135_1.tmp 2>&1; \
${DIFF} output/ex135_1.out ex135_1.tmp || printf "${PWD}\nPossible problem with ex135, diffs above\n=========================================\n"; \
${RM} -f ex135_1.tmp
runex136:
-@${MPIEXEC} -n 3 ./ex136 -f ${DATAFILESPATH}/matrices/cfd.2.100 -mat_view ascii::ascii_info > ex136_1.tmp 2>&1; \
${DIFF} output/ex136_1.out ex136_1.tmp || printf "${PWD}\nPossible problem with ex136, diffs above\n=========================================\n"; \
${RM} -f ex136_1.tmp fileoutput
runex136_2:
-@${MPIEXEC} -n 5 ./ex136 -f ${DATAFILESPATH}/matrices/cfd.2.100 -mat_view ascii::ascii_info > ex136_2.tmp 2>&1; \
${DIFF} output/ex136_2.out ex136_2.tmp || printf "${PWD}\nPossible problem with ex136_2, diffs above\n=========================================\n"; \
${RM} -f ex136_2.tmp fileoutput
runex136_3:
-@${MPIEXEC} -n 7 ./ex136 -f ${DATAFILESPATH}/matrices/cfd.2.100 -mat_view ascii::ascii_info > ex136_3.tmp 2>&1; \
${DIFF} output/ex136_3.out ex136_3.tmp || printf "${PWD}\nPossible problem with ex136_3, diffs above\n=========================================\n"; \
${RM} -f ex136_3.tmp fileoutput
runex136_4:
-@${MPIEXEC} -n 3 ./ex136 -f ${DATAFILESPATH}/matrices/cfd.2.100 -mat_view ascii::ascii_info -mat_type baij > ex136_4.tmp 2>&1; \
${DIFF} output/ex136_4.out ex136_4.tmp || printf "${PWD}\nPossible problem with ex136_4, diffs above\n=========================================\n"; \
${RM} -f ex136_4.tmp fileoutput
runex136_5:
-@${MPIEXEC} -n 5 ./ex136 -f ${DATAFILESPATH}/matrices/cfd.2.100 -mat_view ascii::ascii_info -mat_type baij > ex136_5.tmp 2>&1; \
${DIFF} output/ex136_5.out ex136_5.tmp || printf "${PWD}\nPossible problem with ex136_5, diffs above\n=========================================\n"; \
${RM} -f ex136_5.tmp fileoutput
runex136_6:
-@${MPIEXEC} -n 7 ./ex136 -f ${DATAFILESPATH}/matrices/cfd.2.100 -mat_view ascii::ascii_info -mat_type baij> ex136_6.tmp 2>&1; \
${DIFF} output/ex136_6.out ex136_6.tmp || printf "${PWD}\nPossible problem with ex136_6, diffs above\n=========================================\n"; \
${RM} -f ex136_6.tmp fileoutput
runex137:
-@${MPIEXEC} -n 2 ./ex137 > ex137_1.tmp 2>&1; \
${DIFF} output/ex137_1.out ex137_1.tmp || printf "${PWD}\nPossible problem with ex137, diffs above\n=========================================\n"; \
${RM} -f ex137_1.tmp
runex138_1:
-@${MPIEXEC} -n 2 ./ex138 -f ${DATAFILESPATH}/matrices/small -mat_type aij > ex138.tmp 2>&1; \
${DIFF} output/ex138.out ex138.tmp || printf "${PWD}\nPossible problem with ex138 nblock=1, diffs above\n=========================================\n"; \
${RM} -f ex138.tmp
runex138_2:
-@for nblock in 2 3; do \
${MPIEXEC} -n 2 ./ex138 -f ${DATAFILESPATH}/matrices/small -mat_type baij -matload_block_size $${nblock} > ex138.tmp 2>&1; \
${DIFF} output/ex138.out ex138.tmp || printf "${PWD}\nPossible problem with ex138 nblock=$${nblock}, diffs above\n=========================================\n"; \
${RM} -f ex138.tmp; \
done
runex139:
-@for blocked in 0 1; do \
for mtype in aij baij; do \
${MPIEXEC} -n 2 ./ex139 -blocked $$blocked -mat_type $$mtype | ${SED} 's,baij,aij,' > ex139_1.tmp 2>&1; \
${DIFF} output/ex139_1.out ex139_1.tmp || printf "${PWD}\nPossible problem with ex139 blocked=$${blocked} $${mtype}, diffs above\n=========================================\n"; \
${RM} -f ex139_1.tmp; \
done; \
done
runex140:
-@${MPIEXEC} -n 1 ./ex140 -f ${DATAFILESPATH}/matrices/small -aij
-@if [ "${MATLAB_COMMMAN}" != "" ]; then \
${MATLAB_COMMAND} -nodesktop -nojvm -nodisplay -r "ex140; exit" > ex140_1.tmp 2>&1; \
${DIFF} output/ex140_1.out ex140_1.tmp || printf "${PWD}\nPossible problem with ex140, diffs above\n=========================================\n";\
fi
-@${RM} -f ex140_1.tmp binaryoutput binaryoutput.info
runex140_2:
-@${MPIEXEC} -n 1 ./ex140 -f ${DATAFILESPATH}/matrices/small -matload_block_size 2
-@if [ "${MATLAB_COMMMAN}" != "" ]; then \
${MATLAB_COMMAND} -nodesktop -nojvm -nodisplay -r "ex140; exit" > ex140_2.tmp 2>&1; \
${DIFF} output/ex140_1.out ex140_2.tmp || printf "${PWD}\nPossible problem with ex140_2, diffs above\n=========================================\n"; \
fi
-@${RM} -f ex140_2.tmp binaryoutput binaryoutput.info
runex140_3:
-@${MPIEXEC} -n 1 ./ex140 -f ${DATAFILESPATH}/matrices/small -matload_block_size 4 -sbaij
-@if [ "${MATLAB_COMMMAN}" != "" ]; then \
${MATLAB_COMMAND} -nodesktop -nojvm -nodisplay -r "ex140; exit" > ex140_3.tmp 2>&1; \
${DIFF} output/ex140_1.out ex140_3.tmp || printf "${PWD}\nPossible problem with ex140_3, diffs above\n=========================================\n"; \
fi
-@${RM} -f ex140_3.tmp binaryoutput binaryoutput.info
runex140_4:
-@${MPIEXEC} -n 3 ./ex140 -f ${DATAFILESPATH}/matrices/small -aij
-@if [ "${MATLAB_COMMMAN}" != "" ]; then \
${MATLAB_COMMAND} -nodesktop -nojvm -nodisplay -r "ex140; exit" > ex140_4.tmp 2>&1; \
${DIFF} output/ex140_1.out ex140_4.tmp || printf "${PWD}\nPossible problem with ex140_4, diffs above\n=========================================\n"; \
fi
-@${RM} -f ex140_4.tmp binaryoutput binaryoutput.info
runex141:
-@${MPIEXEC} -n 1 ./ex141 > ex141.tmp 2>&1; \
${DIFF} output/ex141.out ex141.tmp || printf "${PWD}\nPossible problem with ex141, diffs above\n=========================================\n"; \
${RM} -f ex141.tmp
runex142:
-@${MPIEXEC} -n 1 ./ex142 > ex142.tmp 2>&1; \
${DIFF} output/ex142.out ex142.tmp || printf "${PWD}\nPossible problem with ex142, diffs above\n=========================================\n"; \
${RM} -f ex142.tmp
runex143:
-@${MPIEXEC} -n 1 ./ex143 > ex143.tmp 2>&1; \
${DIFF} output/ex143.out ex143.tmp || printf "${PWD}\nPossible problem with ex143, diffs above\n=========================================\n"; \
${RM} -f ex143.tmp
runex143_2:
-@${MPIEXEC} -n 3 ./ex143 > ex143.tmp 2>&1; \
${DIFF} output/ex143.out ex143.tmp || printf "${PWD}\nPossible problem with ex143_2, diffs above\n=========================================\n"; \
${RM} -f ex143.tmp
runex144:
-@${MPIEXEC} -n 1 ./ex144 > ex144.tmp 2>&1; \
${DIFF} output/ex144.out ex144.tmp || printf "${PWD}\nPossible problem with ex144, diffs above\n=========================================\n"; \
${RM} -f ex144.tmp
runex144_2:
-@${MPIEXEC} -n 3 ./ex144 > ex144.tmp 2>&1; \
${DIFF} output/ex144.out ex144.tmp || printf "${PWD}\nPossible problem with ex144_2, diffs above\n=========================================\n"; \
${RM} -f ex144.tmp
runex145:
-@${MPIEXEC} -n 2 ./ex145 > ex145.tmp 2>&1; \
${DIFF} output/ex145.out ex145.tmp || printf "${PWD}\nPossible problem with ex145, diffs above\n=========================================\n"; \
${RM} -f ex145.tmp
runex145_2:
-@${MPIEXEC} -n 6 ./ex145 > ex145.tmp 2>&1; \
${DIFF} output/ex145.out ex145.tmp || printf "${PWD}\nPossible problem with ex145_2, diffs above\n=========================================\n"; \
${RM} -f ex145.tmp
runex148:
-@${MPIEXEC} -n 1 ./ex148 > ex148.tmp 2>&1; \
${DIFF} output/ex148.out ex148.tmp || printf "${PWD}\nPossible problem with ex148, diffs above\n=========================================\n"; \
${RM} -f ex148.tmp
runex148_2:
-@${MPIEXEC} -n 3 ./ex148 > ex148.tmp 2>&1; \
${DIFF} output/ex148.out ex148.tmp || printf "${PWD}\nPossible problem with ex148_2, diffs above\n=========================================\n"; \
${RM} -f ex148.tmp
runex151:
-@${MPIEXEC} -n 1 ./ex151 -view_sparse > ex151_1.tmp 2>&1; \
${DIFF} output/ex151_1.out ex151_1.tmp || printf "${PWD}\nPossible problem with ex151, diffs above\n=========================================\n"; \
${RM} -f ex151_1.tmp
runex151_2:
-@${MPIEXEC} -n 2 ./ex151 -view_sparse > ex151_2.tmp 2>&1; \
${DIFF} output/ex151_2.out ex151_2.tmp || printf "${PWD}\nPossible problem with ex151_2, diffs above\n=========================================\n"; \
${RM} -f ex151_2.tmp
runex151_2b:
-@${MPIEXEC} -n 2 ./ex151 -mat_type baij -view_sparse > ex151_2b.tmp 2>&1; \
${DIFF} output/ex151_2b.out ex151_2b.tmp || printf "${PWD}\nPossible problem with ex151_2b, diffs above\n=========================================\n"; \
${RM} -f ex151_2b.tmp
runex151_3:
-@${MPIEXEC} -n 3 ./ex151 -view_sparse > ex151_3.tmp 2>&1; \
${DIFF} output/ex151_3.out ex151_3.tmp || printf "${PWD}\nPossible problem with ex151_3, diffs above\n=========================================\n"; \
${RM} -f ex151_3.tmp
runex151_3b:
-@${MPIEXEC} -n 3 ./ex151 -mat_type baij -view_sparse > ex151_3b.tmp 2>&1; \
${DIFF} output/ex151_3b.out ex151_3b.tmp || printf "${PWD}\nPossible problem with ex151_3b, diffs above\n=========================================\n"; \
${RM} -f ex151_3b.tmp
runex152:
-@${MPIEXEC} -n 2 ./ex152 -prefix ${DATAFILESPATH}/parmetis-test/testnp2 > ex152_1.tmp 2>&1; \
${DIFF} output/ex152_1.out ex152_1.tmp || printf "${PWD}\nPossible problem with ex152, diffs above\n=========================================\n"; \
${RM} -f ex152_1.tmp
runex152_2:
-@${MPIEXEC} -n 4 ./ex152 -prefix ${DATAFILESPATH}/parmetis-test/testnp4 > ex152_2.tmp 2>&1; \
${DIFF} output/ex152_2.out ex152_2.tmp || printf "${PWD}\nPossible problem with ex152, diffs above\n=========================================\n"; \
${RM} -f ex152_2.tmp
runex158:
-@${MPIEXEC} -n 1 ./ex158 > ex158.tmp 2>&1; \
${DIFF} output/ex158.out ex158.tmp || printf "${PWD}\nPossible problem with ex158, diffs above\n=========================================\n"; \
${RM} -f ex158.tmp
runex158_2:
-@${MPIEXEC} -n 3 ./ex158 > ex158_2.tmp 2>&1; \
${DIFF} output/ex158_2.out ex158_2.tmp || printf "${PWD}\nPossible problem with ex158_2, diffs above\n=========================================\n"; \
${RM} -f ex158_2.tmp
runex159:
-@${MPIEXEC} -n 3 ./ex159 > ex159_1.tmp 2>&1; \
${DIFF} output/ex159_1.out ex159_1.tmp || printf "${PWD}\nPossible problem with ex159_1, diffs above\n=========================================\n"; \
${RM} -f ex159_1.tmp
runex159_nest:
-@${MPIEXEC} -n 3 ./ex159 -nest > ex159_nest.tmp 2>&1; \
${DIFF} output/ex159_nest.out ex159_nest.tmp || printf "${PWD}\nPossible problem with ex159_nest, diffs above\n=========================================\n"; \
${RM} -f ex159_nest.tmp
runex160:
-@${MPIEXEC} -n 1 ./ex160 > ex160.tmp 2>&1; \
${DIFF} output/ex160.out ex160.tmp || printf "${PWD}\nPossible problem with ex160, diffs above\n=========================================\n"; \
${RM} -f ex160.tmp
runex161:
-@${MPIEXEC} -n 1 ./ex161 > ex161.tmp 2>&1; \
${DIFF} output/ex161.out ex161.tmp || printf "${PWD}\nPossible problem with ex161, diffs above\n=========================================\n"; \
${RM} -f ex161.tmp
runex161_2:
-@${MPIEXEC} -n 1 ./ex161 -matmattransmult_color -mat_no_inode > ex161.tmp 2>&1; \
${DIFF} output/ex161.out ex161.tmp || printf "${PWD}\nPossible problem with ex161_2, diffs above\n=========================================\n"; \
${RM} -f ex161.tmp
runex161_3:
-@${MPIEXEC} -n 1 ./ex161 -matmattransmult_color -mat_no_inode -matden2sp_brows 3 > ex161.tmp 2>&1; \
${DIFF} output/ex161.out ex161.tmp || printf "${PWD}\nPossible problem with ex161_3, diffs above\n=========================================\n"; \
${RM} -f ex161.tmp
runex161_4:
-@${MPIEXEC} -n 1 ./ex161 -matmattransmult_color -mat_no_inode -A_matrart_via matmattransposemult > ex161.tmp 2>&1; \
${DIFF} output/ex161.out ex161.tmp || printf "${PWD}\nPossible problem with ex161_4, diffs above\n=========================================\n"; \
${RM} -f ex161.tmp
runex161_5:
-@${MPIEXEC} -n 1 ./ex161 -matmattransmult_color -mat_no_inode -A_matrart_via coloring_rart > ex161.tmp 2>&1; \
${DIFF} output/ex161.out ex161.tmp || printf "${PWD}\nPossible problem with ex161_5, diffs above\n=========================================\n"; \
${RM} -f ex161.tmp
runex163:
-@${MPIEXEC} -n 1 ./ex163 -f ${DATAFILESPATH}/matrices/small > ex163.tmp 2>&1; \
${DIFF} output/ex163.out ex163.tmp || printf "${PWD}\nPossible problem with ex163, diffs above\n=========================================\n"; \
${RM} -f ex163.tmp
runex163_2:
-@${MPIEXEC} -n 3 ./ex163 -f ${DATAFILESPATH}/matrices/small > ex163.tmp 2>&1; \
${DIFF} output/ex163.out ex163.tmp || printf "${PWD}\nPossible problem with ex163_2, diffs above\n=========================================\n"; \
${RM} -f ex163.tmp
runex164:
-@${MPIEXEC} -n 1 ./ex164 > ex164.tmp 2>&1; \
${DIFF} output/ex164_1.out ex164.tmp || printf "${PWD}\nPossible problem with ex164, diffs above\n=========================================\n"; \
${RM} -f ex164.tmp
runex169:
-@${MPIEXEC} -n 4 ./ex169 -f0 ${wPETSC_DIR}/share/petsc/datafiles/matrices/ns-real-int32-float64 -malloc_dump > ex169.tmp 2>&1; \
${DIFF} output/ex169_1.out ex169.tmp || printf "${PWD}\nPossible problem with ex169, diffs above\n=========================================\n"; \
${RM} -f ex169.tmp
runex171:
-@${MPIEXEC} -n 4 ./ex171 -f ${wPETSC_DIR}/share/petsc/datafiles/matrices/ns-real-int32-float64 -malloc_dump > ex171.tmp 2>&1; \
${DIFF} output/ex171_1.out ex171.tmp || printf "${PWD}\nPossible problem with ex171, diffs above\n=========================================\n"; \
${RM} -f ex171.tmp
runex180:
-@${MPIEXEC} -n 1 ./ex180 -mat_type aij -f ${wPETSC_DIR}/share/petsc/datafiles/matrices/ns-real-int32-float64 -malloc_dump > ex180.tmp 2>&1; \
${MPIEXEC} -n 2 ./ex180 -mat_type aij -f ${wPETSC_DIR}/share/petsc/datafiles/matrices/ns-real-int32-float64 -malloc_dump >> ex180.tmp 2>&1; \
${MPIEXEC} -n 1 ./ex180 -mat_type baij -f ${wPETSC_DIR}/share/petsc/datafiles/matrices/ns-real-int32-float64 -malloc_dump >> ex180.tmp 2>&1; \
${MPIEXEC} -n 2 ./ex180 -mat_type baij -f ${wPETSC_DIR}/share/petsc/datafiles/matrices/ns-real-int32-float64 -malloc_dump >> ex180.tmp 2>&1; \
${MPIEXEC} -n 1 ./ex180 -mat_type sbaij -f ${wPETSC_DIR}/share/petsc/datafiles/matrices/ns-real-int32-float64 -malloc_dump >> ex180.tmp 2>&1; \
${MPIEXEC} -n 2 ./ex180 -mat_type sbaij -f ${wPETSC_DIR}/share/petsc/datafiles/matrices/ns-real-int32-float64 -malloc_dump >> ex180.tmp 2>&1; \
${MPIEXEC} -n 1 ./ex180 -mat_type sbaij -matload_block_size 4 -f ${wPETSC_DIR}/share/petsc/datafiles/matrices/ns-real-int32-float64 -malloc_dump >> ex180.tmp 2>&1; \
${MPIEXEC} -n 2 ./ex180 -mat_type sbaij -matload_block_size 4 -f ${wPETSC_DIR}/share/petsc/datafiles/matrices/ns-real-int32-float64 -malloc_dump >> ex180.tmp 2>&1; \
${MPIEXEC} -n 1 ./ex180 -mat_type baij -matload_block_size 4 -f ${wPETSC_DIR}/share/petsc/datafiles/matrices/ns-real-int32-float64 -malloc_dump >> ex180.tmp 2>&1; \
${MPIEXEC} -n 2 ./ex180 -mat_type baij -matload_block_size 4 -f ${wPETSC_DIR}/share/petsc/datafiles/matrices/ns-real-int32-float64 -malloc_dump >> ex180.tmp 2>&1; \
${DIFF} output/ex180_1.out ex180.tmp || printf "${PWD}\nPossible problem with ex180, diffs above\n=========================================\n"; \
${RM} -f ex180.tmp
runex183:
-@${MPIEXEC} -n 2 ./ex183 -total_subdomains 1 > ex183.tmp 2>&1; \
${DIFF} output/ex183_2_1.out ex183.tmp || printf "${PWD}\nPossible problem with ex183, diffs above\n=========================================\n"; \
${RM} -f ex183.tmp
runex183_2:
-@${MPIEXEC} -n 3 ./ex183 -total_subdomains 2 > ex183.tmp 2>&1; \
${DIFF} output/ex183_3_2.out ex183.tmp || printf "${PWD}\nPossible problem with ex183_2, diffs above\n=========================================\n"; \
${RM} -f ex183.tmp
runex183_3:
-@${MPIEXEC} -n 4 ./ex183 -total_subdomains 2 > ex183.tmp 2>&1; \
${DIFF} output/ex183_4_2.out ex183.tmp || printf "${PWD}\nPossible problem with ex183_3, diffs above\n=========================================\n"; \
${RM} -f ex183.tmp
runex183_4:
-@${MPIEXEC} -n 6 ./ex183 -total_subdomains 2 > ex183.tmp 2>&1; \
${DIFF} output/ex183_6_2.out ex183.tmp || printf "${PWD}\nPossible problem with ex183_4, diffs above\n=========================================\n"; \
${RM} -f ex183.tmp
runex300:
-@${MPIEXEC} -n 2 ./ex300 > ex300.tmp 2>&1; \
${DIFF} output/ex300_1.out ex300.tmp || printf "${PWD}\nPossible problem with ex300, diffs above\n=========================================\n"; \
${RM} -f ex300.tmp
runex171f:
-@${MPIEXEC} -n 1 ./ex171f
runex172:
-@${MPIEXEC} -n 4 ./ex172 > ex172.tmp 2>&1; \
${DIFF} output/ex172.out ex172.tmp || printf "${PWD}\nPossible problem with ex172, diffs above\n=========================================\n"; \
${RM} -f ex172.tmp
runex172_2:
-@${MPIEXEC} -n 4 ./ex172 -different > ex172.tmp 2>&1; \
${DIFF} output/ex172.out ex172.tmp || printf "${PWD}\nPossible problem with ex172_2, diffs above\n=========================================\n"; \
${RM} -f ex172.tmp
runex172_3:
-@${MPIEXEC} -n 4 ./ex172 -skip > ex172.tmp 2>&1; \
${DIFF} output/ex172.out ex172.tmp || printf "${PWD}\nPossible problem with ex172_3, diffs above\n=========================================\n"; \
${RM} -f ex172.tmp
runex172_4:
-@${MPIEXEC} -n 4 ./ex172 -different -skip > ex172.tmp 2>&1; \
${DIFF} output/ex172.out ex172.tmp || printf "${PWD}\nPossible problem with ex172_4, diffs above\n=========================================\n"; \
${RM} -f ex172.tmp
runex172_baij:
-@${MPIEXEC} -n 1 ./ex172 -mat_type baij> ex172.tmp 2>&1; \
${DIFF} output/ex172.out ex172.tmp || printf "${PWD}\nPossible problem with ex172_baij, diffs above\n=========================================\n"; \
${RM} -f ex172.tmp
runex172_mpibaij:
-@${MPIEXEC} -n 4 ./ex172 -mat_type baij> ex172.tmp 2>&1; \
${DIFF} output/ex172.out ex172.tmp || printf "${PWD}\nPossible problem with ex172_mpibaij, diffs above\n=========================================\n"; \
${RM} -f ex172.tmp
runex172_sbaij:
-@${MPIEXEC} -n 1 ./ex172 -mat_type sbaij> ex172.tmp 2>&1; \
${DIFF} output/ex172.out ex172.tmp || printf "${PWD}\nPossible problem with ex172_sbaij, diffs above\n=========================================\n"; \
${RM} -f ex172.tmp
runex172_mpisbaij:
-@${MPIEXEC} -n 4 ./ex172 -mat_type sbaij> ex172.tmp 2>&1; \
${DIFF} output/ex172.out ex172.tmp || printf "${PWD}\nPossible problem with ex172_mpisbaij, diffs above\n=========================================\n"; \
${RM} -f ex172.tmp
runex173:
-@${MPIEXEC} -n 1 ./ex173 -f0 ${wPETSC_DIR}/share/petsc/datafiles/matrices/ns-real-int32-float64 > ex173.tmp 2>&1; \
${DIFF} output/ex173_1.out ex173.tmp || printf "${PWD}\nPossible problem with ex173, diffs above\n=========================================\n"; \
${RM} -f ex173.tmp
runex174:
-@${MPIEXEC} -n 1 ./ex174 -fA ${DATAFILESPATH}/matrices/EigenProblems/Eigdftb/dftb_bin/graphene_xxs_A_aij -fB ${DATAFILESPATH}/matrices/EigenProblems/Eigdftb/dftb_bin/graphene_xxs_B_aij > ex174.tmp 2>&1; \
if (${DIFF} output/ex174.out ex174.tmp) then true; \
else printf "${PWD}\nPossible problem with ex174_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex174.tmp
runex174_dense:
-@${MPIEXEC} -n 1 ./ex174 -fA ${DATAFILESPATH}/matrices/EigenProblems/Eigdftb/dftb_bin/graphene_xxs_A_aij -fB ${DATAFILESPATH}/matrices/EigenProblems/Eigdftb/dftb_bin/graphene_xxs_B_aij -orig_mat_type dense > ex174.tmp 2>&1; \
if (${DIFF} output/ex174_dense.out ex174.tmp) then true; \
else printf "${PWD}\nPossible problem with ex174_dense, diffs above\n=========================================\n"; fi; \
${RM} -f ex174.tmp
runex174_elemental:
-@${MPIEXEC} -n 1 ./ex174 -fA ${DATAFILESPATH}/matrices/EigenProblems/Eigdftb/dftb_bin/graphene_xxs_A_aij -fB ${DATAFILESPATH}/matrices/EigenProblems/Eigdftb/dftb_bin/graphene_xxs_B_aij -orig_mat_type elemental > ex174.tmp 2>&1; \
if (${DIFF} output/ex174_elemental.out ex174.tmp) then true; \
else printf "${PWD}\nPossible problem with ex174_elemental, diffs above\n=========================================\n"; fi; \
${RM} -f ex174.tmp
runex174_sbaij:
-@${MPIEXEC} -n 1 ./ex174 -fA ${DATAFILESPATH}/matrices/EigenProblems/Eigdftb/dftb_bin/graphene_xxs_A -fB ${DATAFILESPATH}/matrices/EigenProblems/Eigdftb/dftb_bin/graphene_xxs_B -orig_mat_type sbaij > ex174.tmp 2>&1; \
if (${DIFF} output/ex174_sbaij.out ex174.tmp) then true; \
else printf "${PWD}\nPossible problem with ex174_sbaij, diffs above\n=========================================\n"; fi; \
${RM} -f ex174.tmp
runex174_2:
-@${MPIEXEC} -n 8 ./ex174 -fA ${DATAFILESPATH}/matrices/EigenProblems/Eigdftb/dftb_bin/graphene_xxs_A_aij -fB ${DATAFILESPATH}/matrices/EigenProblems/Eigdftb/dftb_bin/graphene_xxs_B_aij > ex174.tmp 2>&1; \
if (${DIFF} output/ex174.out ex174.tmp) then true; \
else printf "${PWD}\nPossible problem with ex174_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex174.tmp
runex174_2_dense:
-@${MPIEXEC} -n 8 ./ex174 -fA ${DATAFILESPATH}/matrices/EigenProblems/Eigdftb/dftb_bin/graphene_xxs_A_aij -fB ${DATAFILESPATH}/matrices/EigenProblems/Eigdftb/dftb_bin/graphene_xxs_B_aij -orig_mat_type dense > ex174.tmp 2>&1; \
if (${DIFF} output/ex174_dense.out ex174.tmp) then true; \
else printf "${PWD}\nPossible problem with ex174_2_dense, diffs above\n=========================================\n"; fi; \
${RM} -f ex174.tmp
runex174_2_elemental:
-@${MPIEXEC} -n 8 ./ex174 -fA ${DATAFILESPATH}/matrices/EigenProblems/Eigdftb/dftb_bin/graphene_xxs_A_aij -fB ${DATAFILESPATH}/matrices/EigenProblems/Eigdftb/dftb_bin/graphene_xxs_B_aij -orig_mat_type elemental > ex174.tmp 2>&1; \
if (${DIFF} output/ex174_elemental.out ex174.tmp) then true; \
else printf "${PWD}\nPossible problem with ex174_elemental, diffs above\n=========================================\n"; fi; \
${RM} -f ex174.tmp
runex174_2_sbaij:
-@${MPIEXEC} -n 8 ./ex174 -fA ${DATAFILESPATH}/matrices/EigenProblems/Eigdftb/dftb_bin/graphene_xxs_A -fB ${DATAFILESPATH}/matrices/EigenProblems/Eigdftb/dftb_bin/graphene_xxs_B -orig_mat_type sbaij > ex174.tmp 2>&1; \
if (${DIFF} output/ex174_sbaij.out ex174.tmp) then true; \
else printf "${PWD}\nPossible problem with ex174_2_sbaij, diffs above\n=========================================\n"; fi; \
${RM} -f ex174.tmp
runex174_complex:
-@${MPIEXEC} -n 1 ./ex174 -fA ${DATAFILESPATH}/matrices/nimrod/small_112905 > ex174.tmp 2>&1; \
if (${DIFF} output/ex174.out ex174.tmp) then true; \
else printf "${PWD}\nPossible problem with ex174_complex, diffs above\n=========================================\n"; fi; \
${RM} -f ex174.tmp
runex174_complex_2:
-@${MPIEXEC} -n 4 ./ex174 -fA ${DATAFILESPATH}/matrices/nimrod/small_112905 > ex174.tmp 2>&1; \
if (${DIFF} output/ex174.out ex174.tmp) then true; \
else printf "${PWD}\nPossible problem with ex174_complex_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex174.tmp
runex175:
-@${MPIEXEC} -n 1 ./ex175 > ex175.tmp 2>&1; \
if (${DIFF} output/ex175.out ex175.tmp) then true; \
else printf "${PWD}\nPossible problem with ex175, diffs above\n=========================================\n"; fi;\
${RM} -f ex175.tmp
runex181:
-@${MPIEXEC} -n 2 ./ex181 |grep -v "Mat Object" > ex181.tmp 2>&1; \
${DIFF} output/ex181.out ex181.tmp || printf "${PWD}\nPossible problem with ex181, diffs above\n=========================================\n"; \
${RM} -f ex181.tmp
runex181_2:
-@${MPIEXEC} -n 3 ./ex181 -detect_bug |grep -v "Mat Object" > ex181.tmp 2>&1; \
${DIFF} output/ex181_2.out ex181.tmp || printf "${PWD}\nPossible problem with ex181_2, diffs above\n=========================================\n"; \
${RM} -f ex181.tmp
runex182:
-@${MPIEXEC} -n 1 ./ex182 -info | grep malloc | sort -b > ex182.tmp 2>&1; \
sort -b output/ex182_1.out | ${DIFF} - ex182.tmp || printf "${PWD}\nPossible problem with ex182, diffs above\n=========================================\n"; \
${RM} -f ex182.tmp
runex182_2:
-@${MPIEXEC} -n 2 ./ex182 -info ex182info ; grep -h malloc ex182info.* | sort -b > ex182.tmp ; \
${DIFF} output/ex182_2.out ex182.tmp || printf "${PWD}\nPossible problem with ex182_2, diffs above\n=========================================\n"; \
${RM} -f ex182.tmp ex182info.*
runex182_3:
-@${MPIEXEC} -n 1 ./ex182 -info -mat_type baij | grep malloc | sort -b > ex182.tmp 2>&1; \
sort -b output/ex182_3.out | ${DIFF} - ex182.tmp || printf "${PWD}\nPossible problem with ex182_3, diffs above\n=========================================\n"; \
${RM} -f ex182.tmp
runex182_4:
-@${MPIEXEC} -n 2 ./ex182 -info ex182info -mat_type baij ; grep -h malloc ex182info.* | sort -b > ex182.tmp ; \
${DIFF} output/ex182_4.out ex182.tmp || printf "${PWD}\nPossible problem with ex182_4, diffs above\n=========================================\n"; \
${RM} -f ex182.tmp ex182info.*
runex182_5:
-@${MPIEXEC} -n 1 ./ex182 -info -mat_type sbaij | grep malloc | sort -b > ex182.tmp 2>&1; \
sort -b output/ex182_5.out | ${DIFF} - ex182.tmp || printf "${PWD}\nPossible problem with ex182_5, diffs above\n=========================================\n"; \
${RM} -f ex182.tmp
runex182_6:
-@${MPIEXEC} -n 2 ./ex182 -info ex182info -mat_type sbaij ; grep -h malloc ex182info.* | sort -b > ex182.tmp ; \
${DIFF} output/ex182_6.out ex182.tmp || printf "${PWD}\nPossible problem with ex182_6, diffs above\n=========================================\n"; \
${RM} -f ex182.tmp ex182info.*
runex190:
-@${MPIEXEC} -n 2 ./ex190 -mat_type aij -mat_view -f ${wPETSC_DIR}/share/petsc/datafiles/matrices/ns-real-int32-float64 > ex190.tmp 2>&1; \
${MPIEXEC} -n 2 ./ex190 -mat_type baij -mat_view -f ${wPETSC_DIR}/share/petsc/datafiles/matrices/ns-real-int32-float64 >> ex190.tmp 2>&1; \
${MPIEXEC} -n 2 ./ex190 -mat_type sbaij -mat_view -f ${wPETSC_DIR}/share/petsc/datafiles/matrices/ns-real-int32-float64 >> ex190.tmp 2>&1; \
${DIFF} output/ex190_1.out ex190.tmp || printf "${PWD}\nPossible problem with ex190, diffs above\n=========================================\n"; \
${RM} -f ex190.tmp
runex191:
-@${MPIEXEC} -n 2 ./ex191 | grep -v alloced > ex191.tmp 2>&1; \
${DIFF} output/ex191_1.out ex191.tmp || printf "${PWD}\nPossible problem with ex191, diffs above\n=========================================\n"; \
${RM} -f ex191.tmp ex191matrix ex191matrix.info
runex192_mumps:
-@${MPIEXEC} -n 1 ./ex192 -solver 0 > ex192.tmp 2>&1; \
${MPIEXEC} -n 1 ./ex192 -symmetric_solve -solver 0 >> ex192.tmp 2>&1; \
${MPIEXEC} -n 1 ./ex192 -symmetric_solve -hermitian_solve -solver 0 >> ex192.tmp 2>&1; \
${DIFF} output/ex192_mumps.out ex192.tmp || printf "${PWD}\nPossible problem with ex192_mumps, diffs above\n=========================================\n"; \
${RM} -f ex192.tmp
runex192_mkl_pardiso:
-@${MPIEXEC} -n 1 ./ex192 -solver 1 > ex192.tmp 2>&1; \
${MPIEXEC} -n 1 ./ex192 -symmetric_solve -solver 1 >> ex192.tmp 2>&1; \
${MPIEXEC} -n 1 ./ex192 -symmetric_solve -hermitian_solve -solver 1 >> ex192.tmp 2>&1; \
${DIFF} output/ex192_mkl_pardiso.out ex192.tmp || printf "${PWD}\nPossible problem with ex192_mkl_pardiso, diffs above\n=========================================\n"; \
${RM} -f ex192.tmp
runex193:
-@${MPIEXEC} -n 4 ./ex193 -mat_partitioning_hierarchical_Nfineparts 2 > ex193.tmp 2>&1; \
${DIFF} output/ex193.out ex193.tmp || printf "${PWD}\nPossible problem with ex193, diffs above\n=========================================\n"; \
${RM} -f ex193.tmp
runex194:
-@${MPIEXEC} -n 2 ./ex194 > ex194.tmp 2>&1; \
${DIFF} output/ex194_1.out ex194.tmp || printf "${PWD}\nPossible problem with ex194, diffs above\n=========================================\n"; \
${RM} -f ex194.tmp
runex195:
-@${MPIEXEC} -n 2 ./ex195 > ex195.tmp 2>&1; \
${DIFF} output/ex195.out ex195.tmp || printf "${PWD}\nPossible problem with ex195, diffs above\n=========================================\n"; \
${RM} -f ex195.tmp
runex196f90:
-@${MPIEXEC} -n 1 ./ex196f90 -f ${wPETSC_DIR}/share/petsc/datafiles/matrices/ns-real-int32-float64 -malloc_dump >> ex196f.tmp 2>&1; \
${DIFF} output/ex196f90_1.out ex196f.tmp || printf "${PWD}\nPossible problem with ex196f90, diffs above\n=========================================\n"; \
${RM} -f ex196f.tmp
runex197:
-@${MPIEXEC} -n 1 ./ex197 > ex197.tmp 2>&1; \
${DIFF} output/ex197_1.out ex197.tmp || printf "${PWD}\nPossible problem with ex197, diffs above\n=========================================\n"; \
${RM} -f ex197.tmp
runex197_2:
-@${MPIEXEC} -n 2 ./ex197 > ex197.tmp 2>&1; \
${DIFF} output/ex197_2.out ex197.tmp || printf "${PWD}\nPossible problem with ex197_2, diffs above\n=========================================\n"; \
${RM} -f ex197.tmp
runex198:
-@${MPIEXEC} -n 1 ./ex198 -fA ${DATAFILESPATH}/matrices/matmatmatmult/A.bin -fB ${DATAFILESPATH}/matrices/matmatmatmult/B.bin -fC ${DATAFILESPATH}/matrices/matmatmatmult/C.bin > ex198.tmp 2>&1; \
if (${DIFF} output/ex198.out ex198.tmp) then true; \
else printf "${PWD}\nPossible problem with ex198, diffs above\n=========================================\n"; fi; \
${RM} -f ex198.tmp
runex198_2:
-@${MPIEXEC} -n 3 ./ex198 -fA ${DATAFILESPATH}/matrices/matmatmatmult/A.bin -fB ${DATAFILESPATH}/matrices/matmatmatmult/B.bin -fC ${DATAFILESPATH}/matrices/matmatmatmult/C.bin > ex198.tmp 2>&1; \
if (${DIFF} output/ex198.out ex198.tmp) then true; \
else printf "${PWD}\nPossible problem with ex198_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex198.tmp
runex199:
-@for c in jp power natural greedy; do \
for d in 1 2; do \
${MPIEXEC} -n 1 ./ex199 -f ${DATAFILESPATH}/matrices/arco1 -mat_coloring_type $${c} -mat_coloring_distance $${d} ;\
${MPIEXEC} -n 3 ./ex199 -f ${DATAFILESPATH}/matrices/arco1 -mat_coloring_type $${c} -mat_coloring_distance $${d} ;\
done; \
done ;\
for c in sl lf id ; do \
${MPIEXEC} -n 1 ./ex199 -f ${DATAFILESPATH}/matrices/arco1 -mat_coloring_type $${c} -mat_coloring_distance 2 ;\
${MPIEXEC} -n 2 ./ex199 -f ${DATAFILESPATH}/matrices/arco1 -mat_coloring_type $${c} -mat_coloring_distance 2 ;\
done
runex200:
-@${MPIEXEC} -n 1 ./ex200
runex201f:
-@${MPIEXEC} -n 1 ./ex201f -malloc_dump >> ex201f.tmp 2>&1; \
${DIFF} output/ex201f.out ex201f.tmp || printf "${PWD}\nPossible problem with ex201f, diffs above\n=========================================\n"; \
${RM} -f ex201f.tmp
runex202:
-@${MPIEXEC} -n 1 ./ex202 -malloc_dump >> ex202.tmp 2>&1; \
${DIFF} output/ex202.out ex202.tmp || printf "${PWD}\nPossible problem with ex202, diffs above\n=========================================\n"; \
${RM} -f ex202.tmp
runex203:
-@${MPIEXEC} -n 1 ./ex203 -malloc_dump >> ex203.tmp 2>&1; \
${DIFF} output/ex203.out ex203.tmp || printf "${PWD}\nPossible problem with ex203, diffs above\n=========================================\n"; \
${RM} -f ex203.tmp
runex204:
-@${MPIEXEC} -n 1 ./ex204 > ex204.tmp 2>&1; \
if (${DIFF} output/ex204.out ex204.tmp) then true; \
else printf "${PWD}\nPossible problem with ex204, diffs above\n=========================================\n"; fi; \
${RM} -f ex204.tmp
runex204_2:
-@${MPIEXEC} -n 2 ./ex204 > ex204.tmp 2>&1; \
if (${DIFF} output/ex204.out ex204.tmp) then true; \
else printf "${PWD}\nPossible problem with ex204_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex204.tmp
runex205:
-@${MPIEXEC} -n 1 ./ex205 -malloc_dump > ex205.tmp 2>&1; \
${DIFF} output/ex205.out ex205.tmp || printf "${PWD}\nPossible problem with ex205, diffs above\n=========================================\n"; \
${RM} -f ex205.tmp
runex206_aij_1:
-@${MPIEXEC} -n 1 ./ex206 -f ${DATAFILESPATH}/matrices/small -mat_type aij -mat_block_size 1 | grep -v Mat_ > ex206.tmp 2>&1; \
${DIFF} output/ex206_aij_1.out ex206.tmp || printf "${PWD}\nPossible problem with ex206_aij_1, diffs above\n=========================================\n"; \
${RM} -f ex206.tmp
runex206_aij_2:
-@${MPIEXEC} -n 2 ./ex206 -f ${DATAFILESPATH}/matrices/small -mat_type aij -mat_block_size 1 | grep -v Mat_ > ex206.tmp 2>&1; \
${DIFF} output/ex206_aij_2.out ex206.tmp || printf "${PWD}\nPossible problem with ex206_aij_2, diffs above\n=========================================\n"; \
${RM} -f ex206.tmp
runex206_baij_1_2:
-@${MPIEXEC} -n 1 ./ex206 -f ${DATAFILESPATH}/matrices/small -mat_type baij -mat_block_size 2 | grep -v Mat_ > ex206.tmp 2>&1; \
${DIFF} output/ex206_baij_1_2.out ex206.tmp || printf "${PWD}\nPossible problem with ex206_baij_1_2, diffs above\n=========================================\n"; \
${RM} -f ex206.tmp
runex206_baij_2_2:
-@${MPIEXEC} -n 2 ./ex206 -f ${DATAFILESPATH}/matrices/small -mat_type baij -mat_block_size 2 | grep -v Mat_ > ex206.tmp 2>&1; \
${DIFF} output/ex206_baij_2_2.out ex206.tmp || printf "${PWD}\nPossible problem with ex206_baij_2_2, diffs above\n=========================================\n"; \
${RM} -f ex206.tmp
runex206_sbaij_1_1:
-@${MPIEXEC} -n 1 ./ex206 -f ${DATAFILESPATH}/matrices/small -mat_type sbaij -mat_block_size 1 | grep -v Mat_ > ex206.tmp 2>&1; \
${DIFF} output/ex206_sbaij_1_1.out ex206.tmp || printf "${PWD}\nPossible problem with ex206_sbaij_1_1, diffs above\n=========================================\n"; \
${RM} -f ex206.tmp
runex206_sbaij_1_2:
-@${MPIEXEC} -n 1 ./ex206 -f ${DATAFILESPATH}/matrices/small -mat_type sbaij -mat_block_size 2 | grep -v Mat_ > ex206.tmp 2>&1; \
${DIFF} output/ex206_sbaij_1_2.out ex206.tmp || printf "${PWD}\nPossible problem with ex206_sbaij_1_2, diffs above\n=========================================\n"; \
${RM} -f ex206.tmp
runex206_sbaij_2_2:
-@${MPIEXEC} -n 2 ./ex206 -f ${DATAFILESPATH}/matrices/small -mat_type sbaij -mat_block_size 2 | grep -v Mat_ > ex206.tmp 2>&1; \
${DIFF} output/ex206_sbaij_2_2.out ex206.tmp || printf "${PWD}\nPossible problem with ex206_sbaij_2_2, diffs above\n=========================================\n"; \
${RM} -f ex206.tmp
runex206_aij_2_d:
-@${MPIEXEC} -n 2 ./ex206 -f ${DATAFILESPATH}/matrices/small -f2 ${DATAFILESPATH}/matrices/smallbs2 -mat_type aij -mat_block_size 1 | grep -v Mat_ > ex206.tmp 2>&1; \
${DIFF} output/ex206_aij_2_d.out ex206.tmp || printf "${PWD}\nPossible problem with ex206_aij_2_d, diffs above\n=========================================\n"; \
${RM} -f ex206.tmp
runex206_baij_2_1_d:
-@${MPIEXEC} -n 2 ./ex206 -f ${DATAFILESPATH}/matrices/small -f2 ${DATAFILESPATH}/matrices/smallbs2 -mat_type baij -mat_block_size 1 | grep -v Mat_ > ex206.tmp 2>&1; \
${DIFF} output/ex206_baij_2_1_d.out ex206.tmp || printf "${PWD}\nPossible problem with ex206_baij_2_1_d, diffs above\n=========================================\n"; \
${RM} -f ex206.tmp
runex206_baij_2_2_d:
-@${MPIEXEC} -n 2 ./ex206 -f ${DATAFILESPATH}/matrices/small -f2 ${DATAFILESPATH}/matrices/smallbs2 -mat_type baij -mat_block_size 2 | grep -v Mat_ > ex206.tmp 2>&1; \
${DIFF} output/ex206_baij_2_2_d.out ex206.tmp || printf "${PWD}\nPossible problem with ex206_baij_2_2_d, diffs above\n=========================================\n"; \
${RM} -f ex206.tmp
runex206_sbaij_2_1_d:
-@${MPIEXEC} -n 2 ./ex206 -f ${DATAFILESPATH}/matrices/small -f2 ${DATAFILESPATH}/matrices/smallbs2 -mat_type sbaij -mat_block_size 1 | grep -v Mat_ > ex206.tmp 2>&1; \
${DIFF} output/ex206_sbaij_2_1_d.out ex206.tmp || printf "${PWD}\nPossible problem with ex206_sbaij_2_1_d, diffs above\n=========================================\n"; \
${RM} -f ex206.tmp
runex207:
-@${MPIEXEC} -n 1 ./ex207 > ex207_1.tmp 2>&1; \
if (${DIFF} output/ex207_1.out ex207_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex207_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex207_1.tmp
runex207_2:
-@${MPIEXEC} -n 3 ./ex207 > ex207_1.tmp 2>&1; \
if (${DIFF} output/ex207_2.out ex207_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex207_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex207_1.tmp
runex208:
-@${MPIEXEC} -n 1 ./ex208 > ex208_1.tmp 2>&1; \
if (${DIFF} output/ex208_1.out ex208_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex208_1, diffs above\n=========================================\n"; fi; \
${RM} -f ex208_1.tmp
runex208_2:
-@${MPIEXEC} -n 3 ./ex208 > ex208_1.tmp 2>&1; \
if (${DIFF} output/ex208_2.out ex208_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex208_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex208_1.tmp
runex208_baij:
-@${MPIEXEC} -n 1 ./ex208 -mat_type baij > ex208_1.tmp 2>&1; \
if (${DIFF} output/ex208_baij.out ex208_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex208_baij, diffs above\n=========================================\n"; fi; \
${RM} -f ex208_1.tmp
runex208_baij_2:
-@${MPIEXEC} -n 3 ./ex208 -mat_type baij > ex208_1.tmp 2>&1; \
if (${DIFF} output/ex208_baij_2.out ex208_1.tmp) then true; \
else printf "${PWD}\nPossible problem with ex208_baij_2, diffs above\n=========================================\n"; fi; \
${RM} -f ex208_1.tmp
TESTEXAMPLES_C = ex1.PETSc runex1 ex1.rm ex2.PETSc runex2 runex2_2 runex2_3 runex2_4 ex2.rm ex3.PETSc runex3 ex3.rm \
ex4.PETSc runex4 runex4_2 runex4_3 runex4_4 runex4_5 ex4.rm ex5.PETSc runex5 runex5_2 ex5.rm \
ex6.PETSc runex6 ex6.rm ex7.PETSc runex7 ex7.rm ex8.PETSc runex8 ex8.rm \
ex9.PETSc runex9 runex9_2 runex9_3 runex9_3_baij runex9_3_sbaij runex9_4_baij runex9_4_sbaij ex9.rm \
ex10.PETSc runex10 ex10.rm ex11.PETSc runex11 runex11_2 runex11_3 runex11_4 ex11.rm ex14.PETSc \
runex14 ex14.rm ex15.PETSc runex15 ex15.rm \
ex18.PETSc runex18 runex18_1 runex18_2 runex18_3 runex18_4 runex18_5 runex18_6 runex18_7 runex18_8 \
runex18_9 runex18_10 runex18_11 runex18_12 runex18_13 runex18_14 ex18.rm \
ex19.PETSc runex19 ex19.rm ex20.PETSc runex20 printdot \
ex20.rm ex21.PETSc runex21 ex21.rm ex22.PETSc runex22 ex22.rm ex16.PETSc runex16 ex16.rm \
ex23.PETSc runex23 runex23_2 runex23_3 runex23_4 ex23.rm \
ex26.PETSc runex26 runex26_2 ex26.rm \
ex29.PETSc runex29 ex29.rm \
ex45.PETSc runex45 ex45.rm ex46.PETSc runex46 ex46.rm ex55.PETSc runex55 runex55_2 ex55.rm \
ex59.PETSc runex59 runex59_2 runex59_baij runex59_2_baij runex59_sbaij runex59_2_sbaij ex59.rm\
ex60.PETSc runex60 ex60.rm ex61.PETSc runex61 runex61_2 ex61.rm ex65.PETSc \
ex65.rm ex66.PETSc ex66.rm ex68.PETSc runex68 ex68.rm ex98.PETSc runex98 ex98.rm ex102.PETSc runex102_1 runex102_2 runex102_3 ex102.rm\
ex52.PETSc runex52_1 runex52_2 runex52_3 runex52_4 ex52.rm \
ex86.PETSc runex86 runex86_2 runex86_3 ex86.rm printdot \
ex88.PETSc runex88 ex88.rm ex92.PETSc runex92 runex92_2 runex92_3 runex92_3_sorted runex92_4 ex92.rm \
ex93.PETSc runex93 runex93_scalable runex93_scalable_fast runex93_heap runex93_btheap runex93_llcondensed \
runex93_2 runex93_rap runex93_ptap runex93_ptap_scalable ex93.rm \
ex97.PETSc runex97 ex97.rm ex104.PETSc runex104 runex104_2 ex104.rm \
ex107.PETSc runex107 runex107_2 ex107.rm \
ex109.PETSc runex109 runex109_1 runex109_2 ex109.rm ex110.PETSc runex110 ex110.rm \
ex122.PETSc runex122 ex122.rm \
ex114.PETSc runex114 runex114_2 runex114_3 ex114.rm ex117.PETSc ex117.rm ex118.PETSc ex118.rm ex119.PETSc ex119.rm \
ex128.PETSc runex128 runex128_2 ex128.rm ex129.PETSc runex129 runex129_2 ex129.rm ex131.PETSc ex131.rm ex132.PETSc runex132 ex132.rm \
ex133.PETSc ex133.rm ex134.PETSc runex134 ex134.rm ex135.PETSc runex135 ex135.rm ex136.PETSc ex136.rm \
ex137.PETSc runex137 ex137.rm printdot \
ex139.PETSc runex139 ex139.rm ex141.PETSc runex141 ex141.rm \
ex159.PETSc runex159 runex159_nest ex159.rm \
ex160.PETSc runex160 ex160.rm ex161.PETSc runex161 runex161_2 runex161_3 runex161_4 runex161_5 ex161.rm \
ex164.PETSc runex164 ex164.rm ex172.PETSc runex172 runex172_2 runex172_3 runex172_4 \
runex172_baij runex172_mpibaij runex172_sbaij runex172_mpisbaij ex172.rm ex181.PETSc runex181 runex181_2 ex181.rm\
ex183.PETSc runex183 runex183_2 runex183_3 runex183_4 ex183.rm ex300.PETSc runex300 ex300.rm\
ex191.PETSc runex191 ex191.rm ex194.PETSc runex194 ex194.rm ex101.PETSc runex101 ex101.rm \
ex12.PETSc runex12 runex12_2 runex12_3 runex12_4 ex12.rm ex13.PETSc runex13 ex13.rm \
ex17.PETSc runex17 ex17.rm ex24.PETSc ex24.rm ex25.PETSc \
ex25.rm ex27.PETSc ex27.rm ex28.PETSc ex28.rm \
ex30.PETSc runex30 runex30_2 runex30_3 runex30_4 runex30_5 runex30_6 ex30.rm ex31.PETSc printdot \
runex31 ex31.rm ex33.PETSc ex33.rm ex34.PETSc ex34.rm ex35.PETSc runex35 \
ex35.rm ex37.PETSc runex37 runex37_2 runex37_3 runex37_4 runex37_5 runex37_6 ex37.rm \
ex38.PETSc ex38.rm ex43.PETSc ex43.rm ex48.PETSc \
runex48 ex48.rm ex49.PETSc ex49.rm ex51.PETSc runex51 ex51.rm ex52.PETSc ex52.rm \
ex54.PETSc runex54 runex54_2 runex54_3 ex54.rm ex56.PETSc runex56 runex56_4 runex56_5 \
ex56.rm ex74.PETSc runex74 ex74.rm ex75.PETSc runex75 ex75.rm ex76.PETSc runex76 \
runex76_3 ex76.rm ex77.PETSc ex77.rm ex94.PETSc ex94.rm \
ex96.PETSc runex96 ex96.rm ex95.PETSc runex95 runex95_2 ex95.rm ex200.PETSc runex200 ex200.rm \
ex202.PETSc runex202 ex202.rm ex203.PETSc runex203 ex203.rm ex205.PETSc runex205 ex205.rm \
ex207.PETSc runex207 runex207_2 ex207.rm ex208.PETSc runex208 runex208_2 \
runex208_baij runex208_baij_2 ex208.rm
TESTEXAMPLES_C_INFO = ex182.PETSc runex182 runex182_2 runex182_3 runex182_4 runex182_5 runex182_6 ex182.rm
TESTEXAMPLES_C_X =
TESTEXAMPLES_FORTRAN = ex36f.PETSc runex36f ex36f.rm ex63f.PETSc runex63f ex63f.rm ex67f.PETSc ex67f.rm \
ex85f.PETSc runex85f ex85f.rm ex105f.PETSc runex105f ex105f.rm printdot ex120f.PETSc runex120f ex120f.rm ex126f.PETSc runex126f \
ex126f.rm ex171f.PETSc runex171f ex171f.rm ex201f.PETSc runex201f ex201f.rm
TESTEXAMPLES_FORTRAN_MPIUNI = ex36f.PETSc runex36f ex36f.rm
TESTEXAMPLES_C_X_MPIUNI = ex1.PETSc runex1 ex1.rm ex2.PETSc runex2 ex2.rm ex4.PETSc ex4.rm ex5.PETSc runex5 \
ex5.rm ex6.PETSc runex6 ex6.rm ex10.PETSc runex10 ex10.rm ex14.PETSc runex14 ex14.rm \
ex15.PETSc runex15 ex15.rm ex20.PETSc runex20 ex20.rm ex21.PETSc runex21 ex21.rm ex35.PETSc \
runex35 ex35.rm ex48.PETSc runex48 ex48.rm ex71.PETSc ex71.rm \
ex95.PETSc ex95.rm ex101.PETSc runex101 ex101.rm
TESTEXAMPLES_C_NOCOMPLEX = ex32.PETSc ex32.rm ex50.PETSc ex50.rm \
ex151.PETSc runex151 runex151_2 runex151_2b runex151_3 runex151_3b ex151.rm
TESTEXAMPLES_DATAFILESPATH = ex40.PETSc runex40 runex40_2 ex40.rm ex41.PETSc runex41 ex41.rm \
ex42.PETSc runex42 runex42_unsorted_seq runex42_unsorted_mpi runex42_unsorted_baij_seq runex42_unsorted_baij_mpi ex42.rm \
ex47.PETSc ex47.rm ex53.PETSc runex53 ex53.rm \
ex94.PETSc runex94_matmatmult runex94_matmatmult_2 runex94_matmatmult_scalable \
runex94_scalable0 runex94_scalable1 \
runex94_2_mattransposematmult_nonscalable runex94_2_mattransposematmult_matmatmult ex94.rm \
ex111.PETSc runex111_3 ex111.rm printdot ex116.PETSc runex116 runex116_2 ex116.rm \
ex136.PETSc runex136 runex136_2 runex136_3 \
runex136_4 runex136_5 runex136_6 ex136.rm \
ex138.PETSc runex138_1 runex138_2 ex138.rm \
ex140.PETSc runex140 runex140_2 runex140_3 runex140_4 ex140.rm \
ex100.PETSc runex100 ex100.rm ex125.PETSc runex125 ex125.rm \
ex173.PETSc runex173 ex173.rm ex163.PETSc runex163 runex163_2 ex163.rm ex169.PETSc runex169 ex169.rm ex171.PETSc runex171 ex171.rm \
ex180.PETSc runex180 ex180.rm ex190.PETSc runex190 ex190.rm \
ex198.PETSc runex198 runex198_2 ex198.rm \
ex199.PETSc runex199 ex199.rm printdot \
ex206.PETSc runex206_aij_1 runex206_aij_2 runex206_baij_1_2 runex206_baij_2_2 runex206_sbaij_1_1 runex206_sbaij_1_2 runex206_sbaij_2_2 \
runex206_aij_2_d runex206_baij_2_1_d runex206_baij_2_2_d runex206_sbaij_2_1_d ex206.rm
TESTEXAMPLES_FORTRAN_NOCOMPLEX = ex67f.PETSc runex67f runex67f_2 ex67f.rm
TESTEXAMPLES_DOUBLEINT32 = ex72.PETSc runex72 ex72.rm
TESTEXAMPLES_FORTRAN_DOUBLEINT32 = ex79f.PETSc runex79f ex79f.rm ex58f.PETSc runex58f ex58f.rm
TESTEXAMPLES_F90 = ex16f90.PETSc runex16f90 ex16f90.rm
TESTEXAMPLES_13 = ex58f.PETSc ex58f.rm ex70.PETSc ex70.rm
TESTEXAMPLES_PARMETIS = ex73.PETSc ex73.rm
TESTEXAMPLES_PARMETIS_DATAFILESPATH = ex152.PETSc runex152 runex152_2 ex152.rm
TESTEXAMPLES_FFTW = ex142.PETSc runex142 ex142.rm ex144.PETSc runex144 runex144_2 ex144.rm \
ex148.PETSc runex148 runex148_2 ex148.rm ex158.PETSc runex158 runex158_2 ex158.rm
TESTEXAMPLES_FFTW_COMPLEX = ex112.PETSc runex112 runex112_3 runex112_4 ex112.rm ex121.PETSc ex121.rm \
ex143.PETSc runex143 runex143_2 ex143.rm
TESTEXAMPLES_C_COMPLEX = ex120.PETSc runex120 runex120_2 runex120_3 runex120_4 ex120.rm printdot \
ex127.PETSc runex127 runex127_2 ex127.rm ex175.PETSc runex175 ex175.rm ex197.PETSc runex197 runex197_2 ex197.rm
TESTEXAMPLES_ELEMENTAL = ex38.PETSc runex38 runex38_2 runex38_3 ex38.rm \
ex39.PETSc runex39 runex39_2 ex39.rm \
ex103.PETSc runex103 runex103_1 runex103_2 ex103.rm \
ex104.PETSc runex104_2 runex104_elemental runex104_elemental_2 ex104.rm \
ex145.PETSc runex145 runex145_2 ex145.rm
TESTEXAMPLES_ELEMENTAL_DATAFILESPATH = ex174.PETSc runex174 runex174_dense runex174_elemental runex174_sbaij \
runex174_2 runex174_2_dense runex174_2_elemental runex174_2_sbaij ex174.rm
TESTEXAMPLES_ELEMENTAL_COMPLEX_DATAFILESPATH = ex174.PETSc runex174_complex runex174_complex_2 ex174.rm
TESTEXAMPLES_MUMPS_DATAFILESPATH = ex125.PETSc runex125_mumps runex125_mumps_2 ex125.rm \
ex192.PETSc runex192_mumps ex192.rm
TESTEXAMPLES_MKL_PARDISO = ex125.PETSc runex125_mkl_pardiso ex125.rm \
ex192.PETSc runex192_mkl_pardiso ex192.rm
TESTEXAMPLES_SUPERLU_DIST_DATAFILESPATH = ex125.PETSc runex125_superlu_dist runex125_superlu_dist_2 ex125.rm
TESTEXAMPLES_SUPERLU_DIST_COMPLEX_DATAFILESPATH = ex125.PETSc runex125_superlu_dist_complex ex125.rm
TESTEXAMPLES_F90 = ex196f90.PETSc ex196f90.rm ex16f90.PETSc runex16f90 ex16f90.rm
TESTEXAMPLES_VECCUDA = ex2.PETSc runex2_aijcusparse runex2_2_aijcusparse runex2_3_aijcusparse ex2.rm \
ex5.PETSc runex5_aijcusparse runex5_2_aijcusparse runex5_3_aijcusparse ex5.rm
TESTEXAMPLES_HYPRE = ex93.PETSc runex93_hypre ex93.rm ex115.PETSc runex115_1 runex115_2 runex115_3 runex115_4 runex115_5 ex115.rm
include ${PETSC_DIR}/lib/petsc/conf/test