Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

Jinmerge #58

Open
wants to merge 35 commits into
from

Conversation

Projects
None yet
2 participants
Owner

chrispbradley commented Dec 1, 2011

Merging Jin's branch and bringing cuda electrophysics up-to-date.

Jin Budelmann and others added some commits Jan 24, 2011

Jin Budelmann New branch for CUDA integration. Tracker item 2180 0cc8bd8
Jin Budelmann Initial commit of cuda integration. Makefiles are hacked to together …
…as I am pressed for time. I wouldn't recommend anyone test this yet as makefiles have some harcoded paths from my comp and code is tweaked for my tesla board. Tracker item 2180

git-svn-id: https://opencmiss.svn.sourceforge.net/svnroot/opencmiss/cm/branches/developers/jin@1916 61e36070-c886-4827-b7c0-ed9e4dc59cc8
d17fe30
Jin Budelmann Updated cellml to opencmiss field mapping calls. Tracker item 2180 5d014f3
Jin Budelmann Backup commit. Getting random segment violations c885973
Jin Budelmann Fixed a few bugs in FieldIOImportFields. No Tracker Item 10aeb73
Jin Budelmann CMGUI heart mesh files added. Tracker item 2180 7557b3f
Jin Budelmann Added code to read vtk files for an unstructered tet mesh plus merge …
…changes. No tracker item

git-svn-id: https://opencmiss.svn.sourceforge.net/svnroot/opencmiss/cm/branches/developers/jin@1991 61e36070-c886-4827-b7c0-ed9e4dc59cc8
1664975
Jin Budelmann Implemented VTK reading in MonodomainCUDA example. Getting Segment vi…
…olations when accesssing converted C pointers. No Tracker Item

git-svn-id: https://opencmiss.svn.sourceforge.net/svnroot/opencmiss/cm/branches/developers/jin@2001 61e36070-c886-4827-b7c0-ed9e4dc59cc8
5707beb
@chrispbradley chrispbradley Bug fixes. 75ea90c
Jin Budelmann VTK importing properly into example. No Tracker Item 831e52b
Jin Budelmann Changes made to Monodomain files. Tracker item 2180 61394cc
Jin Budelmann Updated CUDA example, changed to fitzhugh nagumo for simplicity. See …
…Tracker Item 2180

git-svn-id: https://opencmiss.svn.sourceforge.net/svnroot/opencmiss/cm/branches/developers/jin@2021 61e36070-c886-4827-b7c0-ed9e4dc59cc8
e1d5515
Jin Budelmann Fixed broken working copy of branch. Commit with merges no significan…
…t changes

git-svn-id: https://opencmiss.svn.sourceforge.net/svnroot/opencmiss/cm/branches/developers/jin@2090 61e36070-c886-4827-b7c0-ed9e4dc59cc8
7fa1775
Jin Budelmann Merge repo changes with branch and made a few minor changes. No relat…
…ed tracker item

git-svn-id: https://opencmiss.svn.sourceforge.net/svnroot/opencmiss/cm/branches/developers/jin@2115 61e36070-c886-4827-b7c0-ed9e4dc59cc8
fff10dd
Jin Budelmann Added cuda parameter setting methods to opencmiss. Merged changes als…
…o. Tracker Item 2180

git-svn-id: https://opencmiss.svn.sourceforge.net/svnroot/opencmiss/cm/branches/developers/jin@2118 61e36070-c886-4827-b7c0-ed9e4dc59cc8
35468ae
Jin Budelmann Rewrote partitioning algorithm as it was far too fragile. Added CLI t…
…o modified Monodomain example. Tracker Item 2180

git-svn-id: https://opencmiss.svn.sourceforge.net/svnroot/opencmiss/cm/branches/developers/jin@2121 61e36070-c886-4827-b7c0-ed9e4dc59cc8
4678f1e
Jin Budelmann Fixed issues with recent changes to field variables. No relevant Trac…
…ker Item

git-svn-id: https://opencmiss.svn.sourceforge.net/svnroot/opencmiss/cm/branches/developers/jin@2122 61e36070-c886-4827-b7c0-ed9e4dc59cc8
80d8467
Jin Budelmann Further optimisations and fixes to partitioning algorithm. Added FHN …
…model definition. See Tracker Item 2180

git-svn-id: https://opencmiss.svn.sourceforge.net/svnroot/opencmiss/cm/branches/developers/jin@2123 61e36070-c886-4827-b7c0-ed9e4dc59cc8
b6c3629
Jin Budelmann Added per-time step solver timing data dump and total solve timing re…
…cording in example code. See tracker item 2180

git-svn-id: https://opencmiss.svn.sourceforge.net/svnroot/opencmiss/cm/branches/developers/jin@2124 61e36070-c886-4827-b7c0-ed9e4dc59cc8
fb3328a
Jin Budelmann Changed some WRITEs to write_string_value to clean up output. Added h…
…ack dae solver timer using COMMON variables in SOLVER_DAE_SOLVE. Temporarily removed single domain timing as it was producing NANs for some reason. See tracker item 2180

git-svn-id: https://opencmiss.svn.sourceforge.net/svnroot/opencmiss/cm/branches/developers/jin@2125 61e36070-c886-4827-b7c0-ed9e4dc59cc8
7c52a10
@chrispbradley chrispbradley CUDA changes. 102334e
@chrispbradley chrispbradley Initialise pointers bug fix. 9584a63
@chrispbradley chrispbradley More uninitialised pointers. 5175b07
@chrispbradley chrispbradley OpenMPI include path corrections. 3fcb2e1
@chrispbradley chrispbradley Uninitialised pointer. 24e3f1f
@chrispbradley chrispbradley Merge branch 'master' of https://github.com/OpenCMISS/cm 3c478c8
@chrispbradley chrispbradley Moving MPI to its own repository. e72f935
@chrispbradley chrispbradley Makefile merge. d7014fe
@chrispbradley chrispbradley Merge branch 'master' of https://github.com/OpenCMISS/cm ef3d356
@chrispbradley chrispbradley Remove nodal from FieldML input parameters. a0ceb30
@chrispbradley chrispbradley Fix typo. e6cfb55
@chrispbradley chrispbradley Fix more typos. bc06e26
@chrispbradley chrispbradley Merge branch 'jin' of https://github.com/chrispbradley/cm
Conflicts:
	ExampleMakefile
	Makefile
	src/biodomain_equation_routines.f90
	src/classical_field_routines.f90
	src/diffusion_equation_routines.f90
	src/equations_set_routines.f90
	src/external_dae_solver_routines.cu
	src/field_IO_routines.f90
	src/field_routines.f90
	src/multi_compartment_transport_routines.f90
	src/opencmiss.f90
	src/opencmiss_c.f90
	src/solver_routines.f90
d0bd65c
@chrispbradley chrispbradley Error message for fopen problems. 2e9dd33
Owner

chrispbradley commented Dec 2, 2011

Any comment on this? I'd like to merge it so that I can get everything up-to-date and delete all these branches and get my master correct so that I can branch and start again from clean. Everything is now so confused.

@adamreeve adamreeve commented on the diff Dec 20, 2011

ExampleMakefile
@@ -142,11 +142,11 @@ $(EXE_DIR) :
$(EXECUTABLE) : $(OBJECTS) $(OPENCMISS_LIBRARY)
$(EXE_LINK) -o $@ $(OBJECTS) $(OPENCMISS_LIBRARY) $(ELFLAGS) $(EXTERNAL_LIBRARIES)
+# $(EXE_LINK) -o $@ $(OBJECTS) $(OPENCMISS_LIBRARY) $(ELFLAGS) $(EXTERNAL_LIBRARIES) -L/people/vbud003/NVIDIA_GPU_Computing_SDK/C/lib -L/people/vbud003/NVIDIA_GPU_Computing_SDK/C/common/lib/linux -L/people/vbud003/NVIDIA_GPU_Computing_SDK/shared//lib -lcudart -L/people/vbud003/NVIDIA_GPU_Computing_SDK/C/lib -L/people/vbud003/NVIDIA_GPU_Computing_SDK/C/common/lib/linux -L/people/vbud003/NVIDIA_GPU_Computing_SDK/shared//lib -L/usr/local/cuda/lib64/ -lcudart -lcutil_x86_64 -lshrutil_x86_64
@adamreeve

adamreeve Dec 20, 2011

Contributor

Looks like this line should be deleted now that the libraries are included in $(EXTERNAL_LIBRARIES) from MakefileCommon.inc

@adamreeve adamreeve commented on the diff Dec 20, 2011

src/cuda_solver_routines.cu
+// ALGEBRAIC[18] = 1.02f/(1.0f+(expf(0.2385f*STATES[0] + 6.83967915f))); // 4 ops
+// ALGEBRAIC[19] = (0.49124f*(expf( 0.08032f *STATES[0] + 7.49939f) + expf(0.06175f*STATES[0] - 31.271255925f)))/(1.00000+expf(-0.514300*STATES[0] - 214.85137268791f)); // 13 ops
+// ALGEBRAIC[20] = ALGEBRAIC[18]/(ALGEBRAIC[18]+ALGEBRAIC[19]); // 2 ops
+// ALGEBRAIC[21] = 0.6047f*ALGEBRAIC[20]*(STATES[0] + 87.89290f); // 3 ops
+// ALGEBRAIC[22] = 1.0f/(1.0f+(exp(((7.488f - STATES[0])/5.98f)))); // 5 ops
+// ALGEBRAIC[23] = 0.0183f*ALGEBRAIC[22]*(STATES[0] + 87.89290f); // 3 ops
+// ALGEBRAIC[24] = 0.03921f*STATES[0] +2.3475027f; // 3 ops
+//
+// RATES[0] = -(ALGEBRAIC[0]+ALGEBRAIC[7]+ALGEBRAIC[15]+ALGEBRAIC[17]+ALGEBRAIC[21]+ALGEBRAIC[23]+ALGEBRAIC[24]); // 7 ops
+// RATES[1] = ALGEBRAIC[1]*(1.00000 - STATES[1]) - ALGEBRAIC[8]*STATES[1]; // 4 ops
+// RATES[2] = ALGEBRAIC[2]*(1.00000 - STATES[2]) - ALGEBRAIC[9]*STATES[2]; // 4 ops
+// RATES[3] = ALGEBRAIC[3]*(1.00000 - STATES[3]) - ALGEBRAIC[10]*STATES[3]; // 4 ops
+// RATES[4] = - 0.0001f*ALGEBRAIC[15]+ 0.000007f - 0.07f*STATES[4]; // 4 ops
+// RATES[5] = ALGEBRAIC[4]*(1.00000 - STATES[5]) - ALGEBRAIC[11]*STATES[5]; // 4 ops
+// RATES[6] = ALGEBRAIC[5]*(1.00000 - STATES[6]) - ALGEBRAIC[12]*STATES[6]; // 4 ops
+// RATES[7] = ALGEBRAIC[6]*(1.00000 - STATES[7]) - ALGEBRAIC[13]*STATES[7]; // 4 ops
@adamreeve

adamreeve Dec 20, 2011

Contributor

There are big blocks of what looks like commented out, hard-coded CellML models in here. As well as a lot of commented out code that looks useful. Should this be cleaned up before merging or just get it in now and clean it up later?

@adamreeve adamreeve commented on the diff Dec 20, 2011

src/mesh_routines.f90
NULLIFY(DECOMPOSITION)
IF(ASSOCIATED(MESH)) THEN
IF(ASSOCIATED(MESH%DECOMPOSITIONS)) THEN
decomposition_idx=1
DO WHILE(decomposition_idx<=MESH%DECOMPOSITIONS%NUMBER_OF_DECOMPOSITIONS.AND..NOT.ASSOCIATED(DECOMPOSITION))
- IF(MESH%DECOMPOSITIONS%DECOMPOSITIONS(decomposition_idx)%PTR%USER_NUMBER==USER_NUMBER) THEN
- DECOMPOSITION=>MESH%DECOMPOSITIONS%DECOMPOSITIONS(decomposition_idx)%PTR
+ PRINT *,decomposition_idx
+ PRINT *,LBOUND(MESH%DECOMPOSITIONS%DECOMPOSITIONS)
+ PRINT *,SIZE(MESH%DECOMPOSITIONS%DECOMPOSITIONS)
+ PRINT *,UBOUND(MESH%DECOMPOSITIONS%DECOMPOSITIONS)
+ IF(ASSOCIATED(MESH%DECOMPOSITIONS%DECOMPOSITIONS)) THEN
@adamreeve

adamreeve Dec 20, 2011

Contributor

Some PRINT statements that should be put put in a diagnostics output.

@adamreeve adamreeve commented on the diff Dec 21, 2011

$(OBJECT_DIR)/%.o : $(SOURCE_DIR)/%.f90 $(OBJECT_DIR)/.directory
( cd $(OBJECT_DIR) && $(FC) -o $@ $(FFLAGS) $(FPPFLAGS) -c $< )
$(OBJECT_DIR)/%.o : $(SOURCE_DIR)/%.c $(OBJECT_DIR)/.directory
( cd $(OBJECT_DIR) && $(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -c $< )
+$(OBJECT_DIR)/%.o : $(SOURCE_DIR)/%.cu
@adamreeve

adamreeve Dec 21, 2011

Contributor

This should also depend on $(OBJECT_DIR)/.directory

@adamreeve adamreeve commented on the diff Dec 21, 2011

@@ -444,6 +456,8 @@ $(OBJECT_DIR)/cmiss_cellml_dummy.o : $(SOURCE_DIR)/cmiss_cellml_dummy.f90
$(OBJECT_DIR)/cmiss_fortran_c.o : $(SOURCE_DIR)/cmiss_fortran_c.f90
+$(OBJECT_DIR)/cmiss_fortran_c.o : $(SOURCE_DIR)/cmiss_fortran_c.f90
@adamreeve

adamreeve Dec 21, 2011

Contributor

This looks like it's been copied accidentally from above?

@adamreeve adamreeve commented on the diff Dec 21, 2011

src/mesh_routines.f90
ELSE
- decomposition_idx=decomposition_idx+1
+ PRINT *,"WTF"
@adamreeve

adamreeve Dec 21, 2011

Contributor

Should probably flag an error that the decompositions isn't associated...

@adamreeve adamreeve commented on the diff Dec 21, 2011

src/opencmiss.f90
@@ -41220,6 +41302,122 @@ END SUBROUTINE CMISSSolverDAETimeStepSetObj
!
!================================================================================================================================
!
+
+ !>Sets/changes the parameters realting to an external differential-algebraic equation solver identified by an user number.
@adamreeve

adamreeve Dec 21, 2011

Contributor

Small typo "realting" and same in next subroutine.

@adamreeve adamreeve commented on the diff Dec 21, 2011

src/solver_routines.f90
ENDIF
+ !PRINT *,STATE_DATA(4470)
+ !DO N=1,MODELS_VARIABLE%TOTAL_NUMBER_OF_DOFS
+ ! IF (IsNaN(STATE_DATA(N))) THEN
+ ! PRINT *,N,STATE_DATA(N)
+ ! ENDIF
+ !ENDDO
@adamreeve

adamreeve Dec 21, 2011

Contributor

Looks like these lines should be deleted or possibly flag a warning/error about NaN values.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment