public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libstdc++/38875]  New: parallel fill in the parallel version of libstdc++
@ 2009-01-16 15:35 wuerzner at gmail dot com
  2009-01-16 15:46 ` [Bug libstdc++/38875] " paolo dot carlini at oracle dot com
                   ` (14 more replies)
  0 siblings, 15 replies; 17+ messages in thread
From: wuerzner at gmail dot com @ 2009-01-16 15:35 UTC (permalink / raw)
  To: gcc-bugs

Hi,

I recently started using the paralleled version of gcc's libstdc++. Now, I have
recognized that there is no parallel version of the fill algorithm (at least at
i486-linux-gnu).

The threshold variable __gnu_parallel::_Settings::fill_minimal_n
suggests that a parallel version of the fill algorithm is existing or at least
planned.
Among other things, fill is used for resizing vectors. But
std::vector.resize(n) is not executed in parallel. On first sight, a parallel
fill should not be hard to accomplish using openmp and would definitely be a
cool feature. But I am no stl expert and may be missing crucial
cross-dependencies.

Best regards,
Kay


-- 
           Summary: parallel fill in the parallel version of libstdc++
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: P3
         Component: libstdc++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: wuerzner at gmail dot com
 GCC build triplet: i486-linux-gnu
  GCC host triplet: i486-linux-gnu
GCC target triplet: i486-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38875


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug libstdc++/38875] parallel fill in the parallel version of libstdc++
  2009-01-16 15:35 [Bug libstdc++/38875] New: parallel fill in the parallel version of libstdc++ wuerzner at gmail dot com
@ 2009-01-16 15:46 ` paolo dot carlini at oracle dot com
  2009-01-16 15:51 ` singler at gcc dot gnu dot org
                   ` (13 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: paolo dot carlini at oracle dot com @ 2009-01-16 15:46 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from paolo dot carlini at oracle dot com  2009-01-16 15:46 -------
Thanks for your report. Johannes, can you have a look?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38875


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug libstdc++/38875] parallel fill in the parallel version of libstdc++
  2009-01-16 15:35 [Bug libstdc++/38875] New: parallel fill in the parallel version of libstdc++ wuerzner at gmail dot com
  2009-01-16 15:46 ` [Bug libstdc++/38875] " paolo dot carlini at oracle dot com
@ 2009-01-16 15:51 ` singler at gcc dot gnu dot org
  2009-03-23 11:00 ` [Bug libstdc++/38875] parallel fill and copy " singler at gcc dot gnu dot org
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: singler at gcc dot gnu dot org @ 2009-01-16 15:51 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from singler at gcc dot gnu dot org  2009-01-16 15:51 -------
In some former (non-integrated) version of the code we had problems with fill
because it was so heavily used by other routines of the STL.  But this is not a
principal problem.  So I will try to integrate it as soon as possible.


-- 

singler at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |singler at gcc dot gnu dot
                   |dot org                     |org
             Status|UNCONFIRMED                 |ASSIGNED
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2009-01-16 15:51:05
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38875


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug libstdc++/38875] parallel fill and copy in the parallel version of libstdc++
  2009-01-16 15:35 [Bug libstdc++/38875] New: parallel fill in the parallel version of libstdc++ wuerzner at gmail dot com
  2009-01-16 15:46 ` [Bug libstdc++/38875] " paolo dot carlini at oracle dot com
  2009-01-16 15:51 ` singler at gcc dot gnu dot org
@ 2009-03-23 11:00 ` singler at gcc dot gnu dot org
  2009-10-15 15:46 ` wuerzner at gmail dot com
                   ` (11 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: singler at gcc dot gnu dot org @ 2009-03-23 11:00 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from singler at gcc dot gnu dot org  2009-03-23 11:00 -------
A parallelized std::copy was also suggested.


-- 

singler at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|parallel fill in the        |parallel fill and copy in
                   |parallel version of         |the parallel version of
                   |libstdc++                   |libstdc++


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38875


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug libstdc++/38875] parallel fill and copy in the parallel version of libstdc++
  2009-01-16 15:35 [Bug libstdc++/38875] New: parallel fill in the parallel version of libstdc++ wuerzner at gmail dot com
                   ` (2 preceding siblings ...)
  2009-03-23 11:00 ` [Bug libstdc++/38875] parallel fill and copy " singler at gcc dot gnu dot org
@ 2009-10-15 15:46 ` wuerzner at gmail dot com
  2009-10-20  7:38 ` singler at gcc dot gnu dot org
                   ` (10 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: wuerzner at gmail dot com @ 2009-10-15 15:46 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from wuerzner at gmail dot com  2009-10-15 15:46 -------
Hi,

has there been any change on the std::fill policy, yet? If yes, in which
version did you integrate the parallel fill?

Many thanks,
Kay


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38875


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug libstdc++/38875] parallel fill and copy in the parallel version of libstdc++
  2009-01-16 15:35 [Bug libstdc++/38875] New: parallel fill in the parallel version of libstdc++ wuerzner at gmail dot com
                   ` (3 preceding siblings ...)
  2009-10-15 15:46 ` wuerzner at gmail dot com
@ 2009-10-20  7:38 ` singler at gcc dot gnu dot org
  2009-11-05  2:16 ` bkoz at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: singler at gcc dot gnu dot org @ 2009-10-20  7:38 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from singler at gcc dot gnu dot org  2009-10-20 07:37 -------
I'm investigating the problem.  In the meantime, you might want to "abuse"
std::for_each for this task.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38875


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug libstdc++/38875] parallel fill and copy in the parallel version of libstdc++
  2009-01-16 15:35 [Bug libstdc++/38875] New: parallel fill in the parallel version of libstdc++ wuerzner at gmail dot com
                   ` (4 preceding siblings ...)
  2009-10-20  7:38 ` singler at gcc dot gnu dot org
@ 2009-11-05  2:16 ` bkoz at gcc dot gnu dot org
  2009-11-05  2:17 ` bkoz at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: bkoz at gcc dot gnu dot org @ 2009-11-05  2:16 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from bkoz at gcc dot gnu dot org  2009-11-05 02:15 -------
Created an attachment (id=18970)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18970&action=view)
patch for parallel fill and fill_n


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38875


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug libstdc++/38875] parallel fill and copy in the parallel version of libstdc++
  2009-01-16 15:35 [Bug libstdc++/38875] New: parallel fill in the parallel version of libstdc++ wuerzner at gmail dot com
                   ` (5 preceding siblings ...)
  2009-11-05  2:16 ` bkoz at gcc dot gnu dot org
@ 2009-11-05  2:17 ` bkoz at gcc dot gnu dot org
  2009-11-05  2:33 ` paolo dot carlini at oracle dot com
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: bkoz at gcc dot gnu dot org @ 2009-11-05  2:17 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from bkoz at gcc dot gnu dot org  2009-11-05 02:16 -------

Here's how parallel fill would look, based on Johannes patch.

-benjamin


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38875


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug libstdc++/38875] parallel fill and copy in the parallel version of libstdc++
  2009-01-16 15:35 [Bug libstdc++/38875] New: parallel fill in the parallel version of libstdc++ wuerzner at gmail dot com
                   ` (6 preceding siblings ...)
  2009-11-05  2:17 ` bkoz at gcc dot gnu dot org
@ 2009-11-05  2:33 ` paolo dot carlini at oracle dot com
  2009-11-05  2:52 ` bkoz at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: paolo dot carlini at oracle dot com @ 2009-11-05  2:33 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from paolo dot carlini at oracle dot com  2009-11-05 02:33 -------
Cool. Now it would be nice to benchmark it a bit, somehow, a version of it with
the actual code not commented out, I mean ;)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38875


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug libstdc++/38875] parallel fill and copy in the parallel version of libstdc++
  2009-01-16 15:35 [Bug libstdc++/38875] New: parallel fill in the parallel version of libstdc++ wuerzner at gmail dot com
                   ` (7 preceding siblings ...)
  2009-11-05  2:33 ` paolo dot carlini at oracle dot com
@ 2009-11-05  2:52 ` bkoz at gcc dot gnu dot org
  2009-11-19 15:32 ` singler at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: bkoz at gcc dot gnu dot org @ 2009-11-05  2:52 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from bkoz at gcc dot gnu dot org  2009-11-05 02:52 -------

Yes, of course. Just providing the framework, since that was a bit tricky.

I should add all the steps here to the parallel mode docs to make this less
confusing for people trying to experiment.

best,
benjamin


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38875


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug libstdc++/38875] parallel fill and copy in the parallel version of libstdc++
  2009-01-16 15:35 [Bug libstdc++/38875] New: parallel fill in the parallel version of libstdc++ wuerzner at gmail dot com
                   ` (8 preceding siblings ...)
  2009-11-05  2:52 ` bkoz at gcc dot gnu dot org
@ 2009-11-19 15:32 ` singler at gcc dot gnu dot org
  2009-11-19 15:33 ` singler at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: singler at gcc dot gnu dot org @ 2009-11-19 15:32 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from singler at gcc dot gnu dot org  2009-11-19 15:32 -------
The new patch is functional.  However, for simple cases like setting integers,
I have no speedup (yet).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38875


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug libstdc++/38875] parallel fill and copy in the parallel version of libstdc++
  2009-01-16 15:35 [Bug libstdc++/38875] New: parallel fill in the parallel version of libstdc++ wuerzner at gmail dot com
                   ` (9 preceding siblings ...)
  2009-11-19 15:32 ` singler at gcc dot gnu dot org
@ 2009-11-19 15:33 ` singler at gcc dot gnu dot org
  2009-11-19 15:35 ` singler at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: singler at gcc dot gnu dot org @ 2009-11-19 15:33 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from singler at gcc dot gnu dot org  2009-11-19 15:33 -------
Created an attachment (id=19053)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19053&action=view)
Functional patch for parallel fill and fill_n.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38875


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug libstdc++/38875] parallel fill and copy in the parallel version of libstdc++
  2009-01-16 15:35 [Bug libstdc++/38875] New: parallel fill in the parallel version of libstdc++ wuerzner at gmail dot com
                   ` (10 preceding siblings ...)
  2009-11-19 15:33 ` singler at gcc dot gnu dot org
@ 2009-11-19 15:35 ` singler at gcc dot gnu dot org
  2009-11-19 15:47 ` wuerzner at gmail dot com
                   ` (2 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: singler at gcc dot gnu dot org @ 2009-11-19 15:35 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #12 from singler at gcc dot gnu dot org  2009-11-19 15:35 -------
Remove old email address.


-- 

singler at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|singler at ira dot uka dot  |
                   |de                          |
             Status|ASSIGNED                    |WAITING


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38875


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug libstdc++/38875] parallel fill and copy in the parallel version of libstdc++
  2009-01-16 15:35 [Bug libstdc++/38875] New: parallel fill in the parallel version of libstdc++ wuerzner at gmail dot com
                   ` (11 preceding siblings ...)
  2009-11-19 15:35 ` singler at gcc dot gnu dot org
@ 2009-11-19 15:47 ` wuerzner at gmail dot com
  2009-11-20  9:53 ` singler at gcc dot gnu dot org
  2009-11-20  9:56 ` singler at gcc dot gnu dot org
  14 siblings, 0 replies; 17+ messages in thread
From: wuerzner at gmail dot com @ 2009-11-19 15:47 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #13 from wuerzner at gmail dot com  2009-11-19 15:47 -------
If you have no speedup, do you recognize any loss of speed due to the
parallelization overhead (for small examples)?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38875


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug libstdc++/38875] parallel fill and copy in the parallel version of libstdc++
  2009-01-16 15:35 [Bug libstdc++/38875] New: parallel fill in the parallel version of libstdc++ wuerzner at gmail dot com
                   ` (12 preceding siblings ...)
  2009-11-19 15:47 ` wuerzner at gmail dot com
@ 2009-11-20  9:53 ` singler at gcc dot gnu dot org
  2009-11-20  9:56 ` singler at gcc dot gnu dot org
  14 siblings, 0 replies; 17+ messages in thread
From: singler at gcc dot gnu dot org @ 2009-11-20  9:53 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #14 from singler at gcc dot gnu dot org  2009-11-20 09:53 -------
Created an attachment (id=19064)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19064&action=view)
Functional patch for parallel fill and fill_n.


-- 

singler at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #19053|0                           |1
        is obsolete|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38875


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug libstdc++/38875] parallel fill and copy in the parallel version of libstdc++
  2009-01-16 15:35 [Bug libstdc++/38875] New: parallel fill in the parallel version of libstdc++ wuerzner at gmail dot com
                   ` (13 preceding siblings ...)
  2009-11-20  9:53 ` singler at gcc dot gnu dot org
@ 2009-11-20  9:56 ` singler at gcc dot gnu dot org
  14 siblings, 0 replies; 17+ messages in thread
From: singler at gcc dot gnu dot org @ 2009-11-20  9:56 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #15 from singler at gcc dot gnu dot org  2009-11-20 09:56 -------
There is slowdown, also for large inputs, for the most simple case, namely
filling constant integer values.  If assignment is more expensive, thing will
get better.  Please try with your application.


-- 

singler at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |ASSIGNED
   Last reconfirmed|2009-01-16 15:51:05         |2009-11-20 09:56:12
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38875


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug libstdc++/38875] parallel fill and copy in the parallel version of libstdc++
       [not found] <bug-38875-4@http.gcc.gnu.org/bugzilla/>
@ 2011-04-06 22:26 ` paolo.carlini at oracle dot com
  0 siblings, 0 replies; 17+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-04-06 22:26 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38875

--- Comment #16 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-04-06 22:25:44 UTC ---
Johannes, I lost a bit track of this enhancement PR: what do you think, now
that we are again in Stage 1 in mainline, are there chances we can resolve it
somehow? Is there something I can do to help?


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2011-04-06 22:26 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-01-16 15:35 [Bug libstdc++/38875] New: parallel fill in the parallel version of libstdc++ wuerzner at gmail dot com
2009-01-16 15:46 ` [Bug libstdc++/38875] " paolo dot carlini at oracle dot com
2009-01-16 15:51 ` singler at gcc dot gnu dot org
2009-03-23 11:00 ` [Bug libstdc++/38875] parallel fill and copy " singler at gcc dot gnu dot org
2009-10-15 15:46 ` wuerzner at gmail dot com
2009-10-20  7:38 ` singler at gcc dot gnu dot org
2009-11-05  2:16 ` bkoz at gcc dot gnu dot org
2009-11-05  2:17 ` bkoz at gcc dot gnu dot org
2009-11-05  2:33 ` paolo dot carlini at oracle dot com
2009-11-05  2:52 ` bkoz at gcc dot gnu dot org
2009-11-19 15:32 ` singler at gcc dot gnu dot org
2009-11-19 15:33 ` singler at gcc dot gnu dot org
2009-11-19 15:35 ` singler at gcc dot gnu dot org
2009-11-19 15:47 ` wuerzner at gmail dot com
2009-11-20  9:53 ` singler at gcc dot gnu dot org
2009-11-20  9:56 ` singler at gcc dot gnu dot org
     [not found] <bug-38875-4@http.gcc.gnu.org/bugzilla/>
2011-04-06 22:26 ` paolo.carlini at oracle dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).