#959: Move pthreads to ExternalLibraries -----------------------------------+---------------------------------------- Reporter: eschnett | Owner: Type: enhancement | Status: new Priority: major | Milestone: Component: EinsteinToolkit thorn | Version: Keywords: | -----------------------------------+---------------------------------------- We should move pthreads support to ExternalLibraries (or to the flesh).
I have asked CCT to create the respective repository.
#959: Move pthreads to ExternalLibraries ------------------------------------+--------------------------------------- Reporter: eschnett | Owner: Type: enhancement | Status: review Priority: major | Milestone: Component: EinsteinToolkit thorn | Version: Resolution: | Keywords: ------------------------------------+--------------------------------------- Changes (by rhaas):
* status: new => review
Comment:
I have a version that does this here: https://github.com/rhaas80/Pthreads
#959: Move pthreads to ExternalLibraries ------------------------------------+--------------------------------------- Reporter: eschnett | Owner: Type: enhancement | Status: review Priority: major | Milestone: Component: EinsteinToolkit thorn | Version: Resolution: | Keywords: ------------------------------------+---------------------------------------
Comment (by knarf):
Most (all) of the logic of this thorn is its detect.sh. What about creating a patch for doing this in the flesh? I think that would probably be better than a separate thorn, or is there a reason why a thorn would be better?
#959: Move pthreads to ExternalLibraries ------------------------------------+--------------------------------------- Reporter: eschnett | Owner: Type: enhancement | Status: review Priority: major | Milestone: Component: EinsteinToolkit thorn | Version: Resolution: | Keywords: ------------------------------------+---------------------------------------
Comment (by rhaas):
I put it in a thorn since every other external library is also in a thorn. Specifically I also have a thorn to link against Intel's trace analyzer. Currently the feature is provided by the flesh (via the extras directory in lib/make) using PTHREADS=yes which is the single last remaining user of those features. There is no code since we cannot build our own pthreads since they required kernel support and there seems to be no userland library that could be used in multiple OS in the case we encounter an system (workstation?) where the kernel provides thread support but the userland libraries are missing (like PAPI).
#959: Move pthreads to ExternalLibraries ------------------------------------+--------------------------------------- Reporter: eschnett | Owner: Type: enhancement | Status: review Priority: major | Milestone: Component: EinsteinToolkit thorn | Version: Resolution: | Keywords: ------------------------------------+---------------------------------------
Comment (by knarf):
Makes sense. There is already https://svn.cactuscode.org/projects/ExternalLibraries/pthreads. Can you use that?
#959: Move pthreads to ExternalLibraries ------------------------------------+--------------------------------------- Reporter: eschnett | Owner: Type: enhancement | Status: review Priority: major | Milestone: Component: EinsteinToolkit thorn | Version: Resolution: | Keywords: ------------------------------------+---------------------------------------
Comment (by rhaas):
Yes, I will commit the changes from the github repo to the subversion on you pointed me to.
#959: Move pthreads to ExternalLibraries ------------------------------------+--------------------------------------- Reporter: eschnett | Owner: Type: enhancement | Status: review Priority: major | Milestone: Component: EinsteinToolkit thorn | Version: Resolution: | Keywords: ------------------------------------+---------------------------------------
Comment (by rhaas):
Replying to [comment:5 rhaas]:
Yes, I will commit the changes from the github repo to the subversion on
you pointed me to.
Done.
#959: Move pthreads to ExternalLibraries ------------------------------------+--------------------------------------- Reporter: eschnett | Owner: Type: enhancement | Status: review Priority: major | Milestone: Component: EinsteinToolkit thorn | Version: Resolution: | Keywords: ------------------------------------+---------------------------------------
Comment (by rhaas):
Would it be ok to add this thorn to the ET (and to adjust it to use Frank's shell scripts once they are ready)?
#959: Move pthreads to ExternalLibraries ------------------------------------+--------------------------------------- Reporter: eschnett | Owner: Type: enhancement | Status: reviewed_ok Priority: major | Milestone: Component: EinsteinToolkit thorn | Version: Resolution: | Keywords: ------------------------------------+--------------------------------------- Changes (by eschnett):
* status: review => reviewed_ok
Comment:
Yes, pleasae.
#959: Move pthreads to ExternalLibraries ------------------------------------+--------------------------------------- Reporter: eschnett | Owner: rhaas Type: enhancement | Status: assigned Priority: major | Milestone: Component: EinsteinToolkit thorn | Version: Resolution: | Keywords: ------------------------------------+--------------------------------------- Changes (by rhaas):
* owner: => rhaas * status: reviewed_ok => assigned
#959: Move pthreads to ExternalLibraries ------------------------------------+--------------------------------------- Reporter: eschnett | Owner: rhaas Type: enhancement | Status: assigned Priority: major | Milestone: Component: EinsteinToolkit thorn | Version: Resolution: | Keywords: ------------------------------------+---------------------------------------
Comment (by rhaas):
Erik: I added the thorn to the manifest (current DISABLED) but have trouble running your distribute script to test them on a significant number of machines.
Would you mind updaing manifest.git and enabling PThreads then switching simfactory to remotes/origin/rhaas/pthreads then testing, please? The alternative is for me to just push the changes and wait for things to fail.
Unfortunately adding PThreads to the thornlist causes the build to abort as long as PTHREADS=yes is set.
#959: Move pthreads to ExternalLibraries ------------------------------------+--------------------------------------- Reporter: eschnett | Owner: rhaas Type: enhancement | Status: assigned Priority: major | Milestone: Component: EinsteinToolkit thorn | Version: Resolution: | Keywords: ------------------------------------+---------------------------------------
Comment (by eschnett):
<bikeshedding>Shouldn't the name be {{{Pthreads}}}?</bikeshedding>
#959: Move pthreads to ExternalLibraries ------------------------------------+--------------------------------------- Reporter: eschnett | Owner: rhaas Type: enhancement | Status: assigned Priority: major | Milestone: Component: EinsteinToolkit thorn | Version: Resolution: | Keywords: ------------------------------------+---------------------------------------
Comment (by rhaas):
This is not fully clear. The standards document http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/pthread.h.html#tag_... does not mention any name at all for the module. I tend to find more Pthreads in a Google search than otherwise.
Mostly the repo is now called pthreads because CCT had already created one using all lowercase spelling (the one on GitHub was mixed case). When we move to bitbucket they will force lowercase repo names anyway. So this will become academic. Either one is fine with me.
Shedding my bike now (and misusing the bikeshedding definition) :-)
#959: Move pthreads to ExternalLibraries ------------------------------------+--------------------------------------- Reporter: eschnett | Owner: rhaas Type: enhancement | Status: assigned Priority: major | Milestone: Component: EinsteinToolkit thorn | Version: Resolution: | Keywords: ------------------------------------+---------------------------------------
Comment (by eschnett):
All lower case is fine. I was just surprised by PThreads (two upper case letters), which is a spelling I haven't seen anywhere.
#959: Move pthreads to ExternalLibraries ------------------------------------+--------------------------------------- Reporter: eschnett | Owner: rhaas Type: enhancement | Status: closed Priority: major | Milestone: Component: EinsteinToolkit thorn | Version: Resolution: fixed | Keywords: ------------------------------------+--------------------------------------- Changes (by rhaas):
* status: assigned => closed * resolution: => fixed
Comment:
Applied in git hash 7adbf95b36108a345a8c65b15feb035d9a43b6a1 of simfactory.
trac@lists.einsteintoolkit.org