-
Notifications
You must be signed in to change notification settings - Fork 4.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pixel raw2 digi #1995
Pixel raw2 digi #1995
Conversation
A new Pull Request was created by @VinInn (Vincenzo Innocente) for CMSSW_7_0_X. Pixel raw2 digi It involves the following packages: CondFormats/SiPixelObjects @apfeiffer1, @diguida, @civanch, @mdhildreth, @cmsbuild, @anton-a, @thspeer, @rcastello, @slava77, @ggovi, @Degano, @nclopezo can you please review it and eventually sign? Thanks. |
Pull request #1995 was updated. @apfeiffer1, @diguida, @civanch, @mdhildreth, @cmsbuild, @anton-a, @Dr15Jones, @rcastello, @slava77, @ggovi, @Degano, @ktf, @thspeer, @nclopezo can you please check and sign again. |
using emplace and =move() (instead of swap) removed all copy_backward etc |
Pull request #1995 was updated. @apfeiffer1, @diguida, @civanch, @mdhildreth, @cmsbuild, @anton-a, @Dr15Jones, @rcastello, @slava77, @ggovi, @Degano, @ktf, @thspeer, @nclopezo can you please check and sign again. |
+1 |
Pull request #1995 was updated. @apfeiffer1, @diguida, @cmsbuild, @anton-a, @Dr15Jones, @rcastello, @slava77, @ggovi, @Degano, @ktf, @thspeer, @nclopezo can you please check and sign again. |
+1 |
using namespace sipixelobjects; | ||
|
||
|
||
void SiPixelFedCablingMap::initializeRocs() { | ||
std::cout << "initialize PixelRocs" << std::endl; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remove the printout or replace it with MessageLogger.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On 13 Jan, 2014, at 1:54 PM, Chris Jones notifications@github.com wrote:
In CondFormats/SiPixelObjects/src/SiPixelFedCablingMap.cc:
using namespace sipixelobjects;
+void SiPixelFedCablingMap::initializeRocs() {
- std::cout << "initialize PixelRocs" << std::endl;
Please remove the printout or replace it with MessageLogger.
sure, was just to make sure it was called…
v.
@@ -51,7 +51,7 @@ | |||
|
|||
DetSet<T> & operator=(DetSet<T> && rh) noexcept { | |||
id = rh.id; | |||
data.swap(rh.data); | |||
data = std::move(rh.data); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@VinInn Vincenzo, are there any other classes which are elements of DetSet which which do not have move op=? I ask since if there are you probably made a pessimistic optimization replacing a swap with a copy. I think the standard has some meta programming checks for the various move functions. Not 100% certain of that though.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On 13 Jan, 2014, at 2:01 PM, Chris Jones notifications@github.com wrote:
In DataFormats/Common/interface/DetSet.h:
@@ -51,7 +51,7 @@
DetSet<T> & operator=(DetSet<T> && rh) noexcept { id = rh.id;
data.swap(rh.data);
data = std::move(rh.data);
@VinInn Vincenzo, are there any other classes which are elements of DetSet which which do not have move op=?
I think DetSet is no used only by PixelDigi. Everybody else uses DeSetNew.
I ask since if there are you probably made a pessimistic optimization replacing a swap with a copy.
Havent seen any regression in Reco. If they exist, need to be fixed. (btw since each DetSet is sorted duing event put if T is not movable will show up there more than here)
I think the standard has some meta programming checks for the various move functions.
Indeed. the nastier being missing “noexcept”
v.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On 13 Jan, 2014, at 2:01 PM, Chris Jones notifications@github.com wrote:
In DataFormats/Common/interface/DetSet.h:
@@ -51,7 +51,7 @@
DetSet<T> & operator=(DetSet<T> && rh) noexcept { id = rh.id;
data.swap(rh.data);
data = std::move(rh.data);
@VinInn Vincenzo, are there any other classes which are elements of DetSet which which do not have move op=?
http://cmslxr.fnal.gov/lxr/search?v=CMSSW_7_1_X_2014-01-12-0200&filestring=classes_def.xml&string=DetSetVector
apparently only some FP420 stuff (what is it anyway? ah TOTEM…)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On 13 Jan, 2014, at 2:11 PM, Vincenzo Innocente vincenzo.innocente@cern.ch wrote:
On 13 Jan, 2014, at 2:01 PM, Chris Jones notifications@github.com wrote:
In DataFormats/Common/interface/DetSet.h:
@@ -51,7 +51,7 @@
DetSet<T> & operator=(DetSet<T> && rh) noexcept { id = rh.id;
data.swap(rh.data);
data = std::move(rh.data);
@VinInn Vincenzo, are there any other classes which are elements of DetSet which which do not have move op=?
http://cmslxr.fnal.gov/lxr/search?v=CMSSW_7_1_X_2014-01-12-0200&filestring=classes_def.xml&string=DetSetVector
apparently only some FP420 stuff (what is it anyway? ah TOTEM…)
they are movable
v.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On 13 Jan, 2014, at 2:01 PM, Chris Jones notifications@github.com wrote:
In DataFormats/Common/interface/DetSet.h:
@@ -51,7 +51,7 @@
DetSet<T> & operator=(DetSet<T> && rh) noexcept { id = rh.id;
data.swap(rh.data);
data = std::move(rh.data);
@VinInn Vincenzo, are there any other classes which are elements of DetSet which which do not have move op=? I ask since if there are you probably made a pessimistic optimization replacing a swap with a copy. I think the standard has some meta programming checks for the various move functions. Not 100% certain of that though.
and btw a vector is movable even if its elements are not movable
see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52591 for instance
v.
Pull request #1995 was updated. @apfeiffer1, @diguida, @civanch, @mdhildreth, @anton-a, @Dr15Jones, @rcastello, @slava77, @ggovi, @ktf, @thspeer can you please check and sign again. |
+1 |
2 similar comments
+1 |
+1 |
looking into it |
merged in CMSSW_7_0_X_2014-01-23-0200 |
And how happens that worked in |
innocent@vinavx2 ~]$ cd /home/vin/CMSSW_7_0_X_2014-01-23-0200/src/ the macro il gone! |
also from the test easy life, isn't it? |
How the merge succeeded ? where is the corresponding pull request? |
strange, the IB in question (CMSSW_7_0_X_2014-01-23-0200/) where you do not Thanks, |
of douse does not report any error: the pullreguest form giacomo has erased everything was done in 1665! in any case in CMSSW_7_0_X_2014-01-23-0200 basic tests of condcore as in PopCon/test do not work anyone *** Break *** segmentation violation
|
Ciao Vincenzo, in any case in CMSSW_7_0_X_2014-01-23-0200 basic tests of condcore as in
strange, none of the slc5/scl6 IBs report any error for this IB: which platform are you using ? Can you please make the sqlite_file:pop_test.db available in your public Thanks, |
Not sure to understand what is an "orthogonal" change. Anyhow, aabce96 is one month old, not really "a last minute". Anyhow, with the last IB: /build/gg/CMSSW_7_1_X_2014-01-24-0200/src $ cmscond_list_iov -c sqlite_file:runinfo_31X_mc -t runinfo_31X_mc So, vincenzo please send me your file, i'll try to reproduce your crash. |
this is what I did
repeat with |
Vincenzo, I can explain you what is going on. The test you are running is creating a condition DB with the new format. The command cmscond_list_iov is able to operate only on the OLD format DB. Anyhow, I agree that the command should rather complain in a "polite" way and not crash. I'll provide a fix for this. |
seems to work
run the printout shows up... I propose to integrate ktf:bring-back-initializers asap |
+1 |
There are some failed track comparisons between the merged and baseline versions in jenkins, although no regression is expected. This behavior could not be reproduced in tests based on two different IB's - the offending distributions were identical for IB and IB+pr1995. |
+1 |
move to 71x please. (should go in if it merges) |
Closing this for the moment. Will reopen when back-porting. |
sped up of Pixel Raw2Digi
more details in https://its.cern.ch/jira/browse/CMSHLT-34
a factor 1.64
in principle more could be saved if the detId were produced in order
(half of the time is spent in copying backward DetSets in the final product (DetSetVector)