1. petsc
  2. PETSc
  3. petsc
  4. Branches

Branches

peller/threadcomm

View source
peller/threadcomm
  • Contributors
    1. Loading...
Author Commit Message Date Builds
250+ commits behind master.
peller
Final changes related to cleaning up the code and adding more documentation.
peller
Added more comments, added documentation to developers.tex, and made minor improvements to code
peller
Improved documentation, made minor changes to improve code, and tested that all threadcomm examples work.
peller
Made changes to make sure code runs correctly for most of the examples.
peller
Made minor changes to try to fix bugs, realized that more major changes will be necessary to actually fix the bugs, but not sure of best approach yet.
peller
Made minor changes to fix bugs. Still trying to find a fix for bugs related to PetscCommDup and PETSC_COMM_SELF.
peller
Made more changes to make code threadsafe and fix bugs. In particular made changes to global Vec and logging variables.
peller
Fixed bugs and memory leaks in threading code.
peller
Made changes to make petsc code more thread safe. Fixed a few minor bugs.
peller
In the process of modifying TRMalloc code to be threadsafe.
peller
Made minor changes to locks and thread local variables.
peller
Modifying code to make Petsc routines related to trmalloc, and later other routines, thread safe. Rearranging some of the threadcomm code to make this possible. Adding locks to help combine data from different threads at the end of the run.
peller
Improved code for multiple threadcomms. Started working to fix bugs due to parts of petsc not being thread safe.
peller
Finished first pass documenting and cleaning up code. TBB now works for loop model and automatically sets affinity. Ran more tests to determine the behavior of the code in different situations.
peller
Added some documentation, improved functionality of some functions, and added more code to handle errors.
peller
Fixed bugs related to duping selfcomms and setting thread affinity. Improved threadcomm creation routines.
peller
Added and improved routines for creating multiple threadcomms
peller
Fixed issues with settings affinities. Added more routines to create multiple threadcomms. Still have some bugs left to fix.
peller
Made many minor improvements to code.
peller
Added and improved more routines to use multiple threadcomms for different threading models
peller
Starting adding new routines to create multiple threadcomms and have them work on different routines.
peller
Made minor modifications to threading code
peller
Made minor modifications to data structs
peller
Fixed issues related to correctly duping mpicomms/threadcomms and then destroying them. Examples should work now. Added a script to run all of the examples with different threading settings.
peller
Added variable for PETSC_COMM_SELF in petscobject, started redoing PetscCommForceDuplicate to make sure threadcomms and mpicomms can be properly destroyed.
peller
Most threadcomm variations seem to be working for simple vector examples. Found bugs related to some mpicomms not having correct threadcomm, still looking for fix.
peller
Further reorganized threadcomm and pool code. Focusing on getting different threading models working correctly for pthreads.
peller
Made more changes to threadcomm data structs.
peller
Continued working on setting up the code to use multiple threadcomms. Started rearranging threadcomm data structures to better deal with new changes. Started adding auto threadmodel.
peller
Moved JobQueue into PetscThread. Tested code with simple example for PThreads and OpenMP. Started creating routines to create multiple threadcomms.
peller
Made more modifications to improve threading model and set up code so that each MPI_Comm has a ThreadComm.
peller
Made some minor modifications to the threading code, planning to make some larger changes next week.
peller
Spent further time rearranging threadcomm and threadpool code. Started adding new code to so that users can have multiple threadcomms.
peller
In the process of rearranging threadcomm and threadpool data structures and making sure code is set up correctly.
peller
Minor updates to threading code
peller
Developed better examples to test the user thread model + MPI for threaded vector and matrix kernels. Everything seems to work correctly so far.
peller
Minor modifications to get examples working better. Ex6 works with mpi and threading now.
peller
User threading model works now for pthreads and openmp for simple vector examples.
peller
Continued improving user thread model. Worked for simple pthread example. Currently adding complexity to example and making necessary changes to code.
peller
Made minor changes related to implementing user thread model.
peller
Moved more pthreads code to PetscThreadPool, set up pthreads and openmp to use most of the same affinity code, started setting up code for both user and loop models.
peller
In the process of moving most pthreads code into threadpool and converting all thread models to use thread pool for the loop threading model.
peller
In process of modifying code to move jobqueue into threadcomm.
peller
Made minor improvements to tbb code and added the tbb package to the configure system. Tested code with more Vec and Mat examples.
peller
Initial implementation of tbb, appears to work correctly based on tests using Vec examples - Made sure files were added.
peller
Initial implementation of tbb, appears to work correctly based on tests using Vec examples.
peller
Added first tbb file