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; 16+ 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] 16+ 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; 16+ 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] 16+ 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; 16+ 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] 16+ 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; 16+ 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] 16+ 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; 16+ 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] 16+ 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; 16+ 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] 16+ 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; 16+ 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] 16+ 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; 16+ 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] 16+ 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; 16+ 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] 16+ 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; 16+ 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] 16+ 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; 16+ 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] 16+ 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; 16+ 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] 16+ 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; 16+ 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] 16+ 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; 16+ 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] 16+ 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; 16+ 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] 16+ 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; 16+ 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] 16+ messages in thread
end of thread, other threads:[~2009-11-20 9:56 UTC | newest]
Thread overview: 16+ 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
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).