Ditto; kill it.
I marginally prefer 1.4 because it really doesn't affect anything in
the now-more-or-less-static 1.3 series, right?
On Jan 15, 2009, at 5:01 PM, George Bosilca wrote:
Absolutely! Why wait until the 1.4 while we can have that in the
1.3.1...
george.
On Jan 15, 2009, at 16:39 , Eugene Loh wrote:
I don't know what scope of changes require RFCs, but here's a
trivial change.
==================================================
RFC: Eliminate opal_round_up_to_nearest_pow2().
WHAT: Eliminate the function opal_round_up_to_nearest_pow2().
WHY: It's poorly written. A clean rewrite would take only
one line of code, which is best written in-place rather than
making a function call. Currently, there is only one call
site, and I expect it to go away. Similar code already inlines
such computation rather than calling this obscure, unused function.
WHERE: opal/util
WHEN: Upon acceptance. For 1.4.
TIMEOUT: January 30, 2009.
==================================================
WHY (details):
The function opal_round_up_to_nearest_pow2() is defined in
opal/util/pow2.c and is declared in the corresponding include
file. It returns the calling argument rounded up to the
nearest power of 2.
This code is difficult to read. That is, it is difficult to
reason about the code's correctness or range of validity or
its behavior outside the range of validity. Meanwhile, it
offers no compelling advantage -- e.g., fast performance or
increased robustness. It is called by only one site, which
is going away.
To use the existing function, one must know of its existence,
include the proper header file, and make the appropriate function
call.
In contrast, a cleanly written version of this code takes only
one line of code. Hence, calling sites are cleaner and faster
if they simply in-line this computation. Further, such code is
customizable (e.g., round down to a power of 2). Most "round to
power of 2" computations in OMPI today already simply implement
this computation themselves rather than calling this obscure
function. E.g., search on "pow2" in
ompi/mca/coll/tuned/coll_tuned_decision_fixed.c.
WHAT (details):
- Remove the file opal/util/pow2.c.
- Remove the file opal/util/pow2.h.
- In opal/util/Makefile.am, remove pow2.h and pow2.c
- In ompi/class/ompi_circular_buffer_fifo.h, if the call
to opal_round_up_to_nearest_pow2() has not already been
removed, then remove
#include "opal/util/pow2.h"
and replace
size = opal_round_up_to_nearest_pow2(size_of_fifo);
with
size = 1;
while ( size < size_of_fifo)
size <<= 1;
or the even more compact
for (size = 1; size < size_of_fifo; size <<= 1);
_______________________________________________
devel mailing list
de...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel
_______________________________________________
devel mailing list
de...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel
--
Jeff Squyres
Cisco Systems