[Kratos] work sharing on the Structural Application

Riccardo Rossi rrossi en cimne.upc.edu
Mar Nov 9 12:07:15 CET 2010


Hi again,
         i am writing to ask for help to remove the threadprivates from
the Structural Application. 

The idea is simply to cancel from the files the "auxiliary namespace"
and to use locally defined auxiliary matrices and vetors. 
That is...for example one should define the mstemp and msaux (i see from
plain_strain.cpp) there were he uses it and not globally. 
Please resist to the temptation of using class storage for this!
          
by doing a grep on the structural application 
grep -r threadprivate *

this is the total list of threadprivates that appear.

I would like to share the work of removing them and to have them removed
by the end of the week.

I will make a proposal of who i believe should remove those (including
myself of course) ... please tell me if you can take care of that


---Nelson ---
constitutive_laws/plane_strain.cpp:        #pragma omp
threadprivate(mstemp)
constitutive_laws/plane_strain.cpp:        #pragma omp
threadprivate(msaux)
constitutive_laws/plastic_damage_3d.cpp:	#pragma omp
threadprivate(mstemp)
constitutive_laws/plastic_damage_3d.cpp:	#pragma omp
threadprivate(msaux)
constitutive_laws/orthotropic_3d.cpp:#pragma omp threadprivate(mstemp)
constitutive_laws/orthotropic_3d.cpp:#pragma omp threadprivate(msaux)
constitutive_laws/mohr_coulomb_plane_strain.cpp:#pragma omp
threadprivate(mstemp)
constitutive_laws/mohr_coulomb_plane_strain.cpp:#pragma omp
threadprivate(msaux)
constitutive_laws/isotropic_2d.cpp:#pragma omp threadprivate(mstemp)
constitutive_laws/isotropic_2d.cpp:#pragma omp threadprivate(msaux)
constitutive_laws/isotropic_3d.cpp:#pragma omp threadprivate(mstemp)
constitutive_laws/isotropic_3d.cpp:#pragma omp threadprivate(msaux)
constitutive_laws/hyperelastic_2d.cpp:        #pragma omp
threadprivate(mstemp)
constitutive_laws/hyperelastic_2d.cpp:        #pragma omp
threadprivate(msaux)
constitutive_laws/continuousdamage3d.cpp:        #pragma omp
threadprivate(mstemp)
constitutive_laws/continuousdamage3d.cpp:        #pragma omp
threadprivate(msaux)
constitutive_laws/vonmiseskinemver3d.cpp:        #pragma omp
threadprivate(mstemp)
constitutive_laws/vonmiseskinemver3d.cpp:        #pragma omp
threadprivate(msaux)
constitutive_laws/hyperelastic_3d.cpp:        #pragma omp
threadprivate(mstemp)
constitutive_laws/hyperelastic_3d.cpp:        #pragma omp
threadprivate(msaux)
constitutive_laws/plastic_damage_2d.cpp:	#pragma omp
threadprivate(mstemp)
constitutive_laws/plastic_damage_2d.cpp:	#pragma omp
threadprivate(msaux)
constitutive_laws/isotropic_damage_2d.cpp:	#pragma omp
threadprivate(mstemp)
constitutive_laws/isotropic_damage_2d.cpp:	#pragma omp
threadprivate(msaux)
constitutive_laws/isotropic_damage_2d.cpp:        #pragma omp
threadprivate(ConstitutiveMatrixAux)
constitutive_laws/isotropic_damage_2d.cpp:        #pragma omp
threadprivate(StrainVectorPerturbation)
constitutive_laws/isotropic_damage_2d.cpp:        #pragma omp
threadprivate(StressVectorPerturbation)
constitutive_laws/isotropic_damage_2d.cpp:        #pragma omp
threadprivate(StrainVectorPerturbation_aux)
constitutive_laws/isotropic_damage_2d.cpp:        #pragma omp
threadprivate(StressVectorPerturbation_aux)
constitutive_laws/isotropic_damage_2d.cpp:	#pragma omp threadprivate(C)
constitutive_laws/isotropic_damage_2d.cpp:	#pragma omp threadprivate(D)
constitutive_laws/isotropic_damage_2d.cpp:	#pragma omp threadprivate(V)
constitutive_laws/isotropic_damage_2d.cpp:	#pragma omp
threadprivate(d_Sigma)
constitutive_laws/plane_stress_damage_orthotropic_2d.cpp:	#pragma omp
threadprivate(mstemp)
constitutive_laws/plane_stress_damage_orthotropic_2d.cpp:	#pragma omp
threadprivate(msaux)
constitutive_laws/hypoelastic_2d.cpp:#pragma omp threadprivate(mstemp)
constitutive_laws/hypoelastic_2d.cpp:#pragma omp threadprivate(msaux)
constitutive_laws/von_mises_3d.cpp:#pragma omp threadprivate(mstemp)
constitutive_laws/von_mises_3d.cpp:#pragma omp threadprivate(msaux)
constitutive_laws/external_isotropic_3d.cpp:#pragma omp
threadprivate(mstemp)
constitutive_laws/external_isotropic_3d.cpp:#pragma omp
threadprivate(msaux)
constitutive_laws/plasticity_2d.cpp:	#pragma omp threadprivate(mstemp)
constitutive_laws/plasticity_2d.cpp:	#pragma omp threadprivate(msaux)
constitutive_laws/isotropic_damage_3d.cpp:	#pragma omp
threadprivate(mstemp)
constitutive_laws/isotropic_damage_3d.cpp:	#pragma omp
threadprivate(msaux)
constitutive_laws/isotropic_damage_3d.cpp:        #pragma omp
threadprivate(StrainVectorPerturbation)
constitutive_laws/isotropic_damage_3d.cpp:        #pragma omp
threadprivate(StressVectorPerturbation)
constitutive_laws/fluid_2d.cpp:        #pragma omp threadprivate(mstemp)
constitutive_laws/fluid_2d.cpp:        #pragma omp threadprivate(msaux)





-- Someone in the Bochum Team ...Jaaaanosch :-D please help finding some
"volunteers" :-D --


custom_elements/unsaturated_soils_element_2phase_small_strain.cpp:#pragma omp threadprivate(msB)
custom_elements/unsaturated_soils_element_2phase_small_strain.cpp:#pragma omp threadprivate(msTanC_U)
custom_elements/unsaturated_soils_element_2phase_small_strain.cpp:#pragma omp threadprivate(msStrainVector)
custom_elements/unsaturated_soils_element_2phase_small_strain.cpp:#pragma omp threadprivate(msStressVector)
custom_elements/unsaturated_soils_element_2phase_small_strain.cpp:#pragma omp threadprivate(msDN_DX_DISP)
custom_elements/unsaturated_soils_element_2phase_small_strain.cpp:#pragma omp threadprivate(msCurrentDisp)
custom_elements/mixed_lagrangian.cpp:	#pragma omp threadprivate(msB)
custom_elements/mixed_lagrangian.cpp:	#pragma omp threadprivate(msF)
custom_elements/mixed_lagrangian.cpp:	#pragma omp threadprivate(msD)
custom_elements/mixed_lagrangian.cpp:	#pragma omp threadprivate(msC)
custom_elements/mixed_lagrangian.cpp:	#pragma omp
threadprivate(msStrainVector)
custom_elements/mixed_lagrangian.cpp:	#pragma omp
threadprivate(msStressVector)
custom_elements/mixed_lagrangian.cpp:	#pragma omp threadprivate(msDN_DX)
custom_elements/total_lagrangian.cpp:	#pragma omp threadprivate(msB)
custom_elements/total_lagrangian.cpp:	#pragma omp threadprivate(msF)
custom_elements/total_lagrangian.cpp:	#pragma omp threadprivate(msD)
custom_elements/total_lagrangian.cpp:	#pragma omp threadprivate(msC)
custom_elements/total_lagrangian.cpp:	#pragma omp
threadprivate(msStrainVector)
custom_elements/total_lagrangian.cpp:	#pragma omp
threadprivate(msStressVector)
custom_elements/total_lagrangian.cpp:	#pragma omp threadprivate(msDN_DX)
custom_elements/total_lagrangian.cpp:	#pragma omp
threadprivate(msPlasticStrainVector)
custom_elements/kinematic_linear.cpp:#pragma omp threadprivate(msB)
custom_elements/kinematic_linear.cpp:#pragma omp threadprivate(msTanC)
custom_elements/kinematic_linear.cpp:#pragma omp
threadprivate(msStrainVector)
custom_elements/kinematic_linear.cpp:#pragma omp
threadprivate(msStressVector)
custom_elements/kinematic_linear.cpp:#pragma omp threadprivate(msDN_DX)
custom_elements/kinematic_linear.cpp:#pragma omp
threadprivate(msCurrentDisp)
custom_elements/unsaturated_soils_element_3phase_small_strain.cpp:#pragma omp threadprivate(msB)
custom_elements/unsaturated_soils_element_3phase_small_strain.cpp:#pragma omp threadprivate(msTanC_U)
custom_elements/unsaturated_soils_element_3phase_small_strain.cpp:#pragma omp threadprivate(msStrainVector)
custom_elements/unsaturated_soils_element_3phase_small_strain.cpp:#pragma omp threadprivate(msStressVector)
custom_elements/unsaturated_soils_element_3phase_small_strain.cpp:#pragma omp threadprivate(msDN_DX_DISP)
custom_elements/unsaturated_soils_element_3phase_small_strain.cpp:#pragma omp threadprivate(msCurrentDisp)
custom_elements/linear_element.cpp: #pragma omp threadprivate(msB)
custom_elements/linear_element.cpp: #pragma omp threadprivate(msF)
custom_elements/linear_element.cpp: #pragma omp threadprivate(msD)
custom_elements/linear_element.cpp: #pragma omp threadprivate(msC)
custom_elements/linear_element.cpp: #pragma omp
threadprivate(msStrainVector)
custom_elements/linear_element.cpp: #pragma omp
threadprivate(msStressVector)
custom_elements/linear_element.cpp: #pragma omp threadprivate(msDN_DX)
custom_elements/linear_element.cpp: #pragma omp
threadprivate(msPlasticStrainVector)
custom_elements/unsaturated_soils_element_1phase_small_strain.cpp:#pragma omp threadprivate(msB)
custom_elements/unsaturated_soils_element_1phase_small_strain.cpp:#pragma omp threadprivate(msTanC_U)
custom_elements/unsaturated_soils_element_1phase_small_strain.cpp:#pragma omp threadprivate(msStrainVector)
custom_elements/unsaturated_soils_element_1phase_small_strain.cpp:#pragma omp threadprivate(msStressVector)
custom_elements/unsaturated_soils_element_1phase_small_strain.cpp:#pragma omp threadprivate(msDN_DX_DISP)
custom_elements/unsaturated_soils_element_1phase_small_strain.cpp:#pragma omp threadprivate(msCurrentDisp)





--Riccardo ... :-D you "volunteered" for the following ---

custom_elements/ebst.cpp:#pragma omp threadprivate(msL1)
custom_elements/ebst.cpp:#pragma omp threadprivate(msB_f)
custom_elements/ebst.cpp:#pragma omp threadprivate(msB_m)
custom_elements/ebst.cpp:#pragma omp threadprivate(msK)
custom_elements/ebst.cpp:#pragma omp threadprivate(ms_coord)
custom_elements/ebst.cpp:#pragma omp threadprivate(ms_loc_der_central)
custom_elements/ebst.cpp:#pragma omp threadprivate(ms_loc_der_patch)
custom_elements/shell_isotropic.cpp:		#pragma omp
threadprivate(local_indices)
custom_elements/shell_isotropic.cpp:		#pragma omp threadprivate(mBm)
custom_elements/shell_isotropic.cpp:		#pragma omp threadprivate(mBb)
custom_elements/shell_isotropic.cpp:		#pragma omp threadprivate(Q)
custom_elements/shell_isotropic.cpp:		#pragma omp threadprivate(Q1)
custom_elements/shell_isotropic.cpp:		#pragma omp threadprivate(Q2)
custom_elements/shell_isotropic.cpp:		#pragma omp threadprivate(Q3)
custom_elements/shell_isotropic.cpp:		#pragma omp threadprivate(aux33)
custom_elements/shell_isotropic.cpp:		#pragma omp threadprivate(Te)
custom_elements/shell_isotropic.cpp:		#pragma omp threadprivate(mEm)
custom_elements/shell_isotropic.cpp:		#pragma omp threadprivate(mEb)
custom_elements/shell_isotropic.cpp:		#pragma omp threadprivate(H1)
custom_elements/shell_isotropic.cpp:		#pragma omp threadprivate(H2)
custom_elements/shell_isotropic.cpp:		#pragma omp threadprivate(H3)
custom_elements/shell_isotropic.cpp:		#pragma omp threadprivate(H4)
custom_elements/shell_isotropic.cpp:		#pragma omp threadprivate(TTu)
custom_elements/shell_isotropic.cpp:		#pragma omp threadprivate(aux39)
custom_elements/shell_isotropic.cpp:		#pragma omp
threadprivate(mKloc_system)
custom_elements/shell_isotropic.cpp:		#pragma omp threadprivate(rot18)
custom_elements/shell_isotropic.cpp:		#pragma omp threadprivate(temp)
custom_elements/shell_isotropic.cpp:		#pragma omp threadprivate(mKloc99)
custom_elements/shell_isotropic.cpp:		#pragma omp threadprivate(values)
custom_elements/membrane_element.cpp:	    #pragma omp threadprivate(msB)
custom_elements/membrane_element.cpp:	    #pragma omp threadprivate(msQ)
custom_elements/membrane_element.cpp:	    #pragma omp threadprivate(msD)
custom_elements/membrane_element.cpp:	    #pragma omp
threadprivate(msStrainVector)
custom_elements/membrane_element.cpp:	    #pragma omp
threadprivate(msStressVector)
custom_elements/membrane_element.cpp:	    #pragma omp threadprivate(msC)
custom_elements/membrane_element.cpp:	    #pragma omp
threadprivate(msDN_DX)

custom_strategies/schemes/residualbased_predictorcorrector_bossak_scheme.h:                #pragma omp threadprivate(mMass)
custom_strategies/schemes/residualbased_predictorcorrector_bossak_scheme.h:                #pragma omp threadprivate(mDamp) 
custom_strategies/schemes/residualbased_predictorcorrector_bossak_scheme.h:                #pragma omp threadprivate(mvel)
custom_strategies/schemes/residualbased_predictorcorrector_bossak_scheme.h:                #pragma omp threadprivate(macc)
custom_strategies/schemes/residualbased_predictorcorrector_bossak_scheme.h:                #pragma omp threadprivate(maccold)
custom_strategies/schemes/bossak_auxiliaries.cpp:		#pragma omp
threadprivate(mMass)
custom_strategies/schemes/bossak_auxiliaries.cpp:		#pragma omp
threadprivate(mDamp)
custom_strategies/schemes/bossak_auxiliaries.cpp:		#pragma omp
threadprivate(mvel)
custom_strategies/schemes/bossak_auxiliaries.cpp:		#pragma omp
threadprivate(macc)
custom_strategies/schemes/bossak_auxiliaries.cpp:		#pragma omp
threadprivate(macc)
custom_strategies/schemes/bossak_auxiliaries.cpp:		#pragma omp
threadprivate(mMass)
custom_strategies/schemes/bossak_auxiliaries.cpp:		#pragma omp
threadprivate(mDamp)
custom_strategies/schemes/bossak_auxiliaries.cpp:		#pragma omp
threadprivate(mvel)
custom_strategies/schemes/bossak_auxiliaries.cpp:		#pragma omp
threadprivate(macc)
custom_strategies/schemes/bossak_auxiliaries.cpp:		#pragma omp
threadprivate(macc)

please confirm that someone will take care of this.

ciao all (and sorry for the brown)
Riccardo



-- 
________________________________________________________________
Riccardo Rossi, Ph.D, Civil Engineer
member of the Kratos Group: kratos.cimne.upc.es
Centro Internacional de M茅todos Num茅ricos en Ingenier铆a (CIMNE)
Universidad Polit茅cnica de Catalu帽a (UPC)
Edificio C-1, campus Norte UPC
Gran Capitan, s/n
08034 Barcelona, Espa帽a
Tel. (+34) 93 401 73 99
________________________________________________________________

AVISO IMPORTANTE

Los datos de car谩cter personal contenidos en el mensaje, se registrar谩n
en un fichero para facilitar la gesti贸n de las comunicaciones de CIMNE.
Se pueden ejercitar los derechos de acceso, rectificaci贸n, cancelaci贸n y
oposici贸n por escrito, dirigi茅ndose a nuestras oficinas de CIMNE, Gran
Capit谩n s/n,  Edificio C1 - Campus Norte UPC, 08034 Barcelona, Espa帽a.

AV脥S IMPORTANT

Les dades de car脿cter personal contingudes en aquest missatge es
registraran en un fitxer per facilitar la gesti贸 de les comunicacions
del CIMNE. Es poden exercir els drets d'acc茅s, rectificaci贸,
cancel路laci贸 i oposici贸, per escrit a les nostres oficines del CIMNE,
Gran Capit脿 s/n, Edifici C1, Campus Nord UPC, 08034 Barcelona, Espanya.

IMPORTANT NOTICE

All personal data contained in this mail will be processed
confidentially and stored in a file property of CIMNE in order to manage
corporate communications. You may exercise the right of access,
rectification, deletion and objection by letter sent to CIMNE, Gran
Capit谩n, Edificio C1 - Campus Norte UPC, 08034 Barcelona, Spain.






------------ pr髕ima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listas.cimne.upc.edu/pipermail/kratos/attachments/20101109/25d8e07f/attachment-0001.htm 


More information about the Kratos mailing list