@@ -723,13 +723,13 @@ GPUd() void GPUTPCGMMerger::MergeBorderTracks<1>(int32_t nBlocks, int32_t nThrea
723723
724724 if (iThread == 0 ) {
725725 if (iBlock == 0 ) {
726- #ifdef GPUCA_NO_FAST_MATH // TODO: Use a better define as swith
726+ #ifdef GPUCA_DETERMINISTIC_MODE
727727 GPUCommonAlgorithm::sortDeviceDynamic (range1, range1 + N1, [](const GPUTPCGMBorderRange& a, const GPUTPCGMBorderRange& b) { return (a.fMin != b.fMin ) ? (a.fMin < b.fMin ) : (a.fId < b.fId ); });
728728#else
729729 GPUCommonAlgorithm::sortDeviceDynamic (range1, range1 + N1, [](const GPUTPCGMBorderRange& a, const GPUTPCGMBorderRange& b) { return a.fMin < b.fMin ; });
730730#endif
731731 } else if (iBlock == 1 ) {
732- #ifdef GPUCA_NO_FAST_MATH // TODO: Use a better define as swith
732+ #ifdef GPUCA_DETERMINISTIC_MODE
733733 GPUCommonAlgorithm::sortDeviceDynamic (range2, range2 + N2, [](const GPUTPCGMBorderRange& a, const GPUTPCGMBorderRange& b) { return (a.fMax != b.fMax ) ? (a.fMax < b.fMax ) : (a.fId < b.fId ); });
734734#else
735735 GPUCommonAlgorithm::sortDeviceDynamic (range2, range2 + N2, [](const GPUTPCGMBorderRange& a, const GPUTPCGMBorderRange& b) { return a.fMax < b.fMax ; });
@@ -749,7 +749,7 @@ namespace // anonymous
749749struct MergeBorderTracks_compMax {
750750 GPUd () bool operator ()(const GPUTPCGMBorderRange& a, const GPUTPCGMBorderRange& b)
751751 {
752- #ifdef GPUCA_NO_FAST_MATH // TODO: Use a better define as swith
752+ #ifdef GPUCA_DETERMINISTIC_MODE
753753 return (a.fMax != b.fMax ) ? (a.fMax < b.fMax ) : (a.fId < b.fId );
754754#else
755755 return a.fMax < b.fMax ;
@@ -759,7 +759,7 @@ struct MergeBorderTracks_compMax {
759759struct MergeBorderTracks_compMin {
760760 GPUd () bool operator ()(const GPUTPCGMBorderRange& a, const GPUTPCGMBorderRange& b)
761761 {
762- #ifdef GPUCA_NO_FAST_MATH // TODO: Use a better define as swith
762+ #ifdef GPUCA_DETERMINISTIC_MODE
763763 return (a.fMin != b.fMin ) ? (a.fMin < b.fMin ) : (a.fId < b.fId );
764764#else
765765 return a.fMin < b.fMin ;
@@ -906,7 +906,7 @@ GPUd() void GPUTPCGMMerger::MergeBorderTracks<2>(int32_t nBlocks, int32_t nThrea
906906
907907 mTrackLinks [b1.TrackID ()] = iBest2;
908908 if (mergeMode > 0 ) {
909- #if defined(GPUCA_NO_FAST_MATH) // TODO: Use a better define as swith
909+ #ifdef GPUCA_DETERMINISTIC_MODE
910910 CAMath::AtomicMax (&mTrackLinks [iBest2], b1.TrackID ());
911911#else
912912 mTrackLinks [iBest2] = b1.TrackID ();
@@ -1469,7 +1469,7 @@ struct GPUTPCGMMerger_CompareClusterIdsLooper {
14691469 if (a1.row != b1.row ) {
14701470 return ((a1.row > b1.row ) ^ ((a.leg - leg) & 1 ) ^ outwards);
14711471 }
1472- #ifdef GPUCA_NO_FAST_MATH // TODO: Use a better define as swith
1472+ #ifdef GPUCA_DETERMINISTIC_MODE
14731473 if (a1.id != b1.id ) {
14741474 return (a1.id > b1.id );
14751475 }
@@ -1490,7 +1490,7 @@ struct GPUTPCGMMerger_CompareClusterIds {
14901490 if (a.row != b.row ) {
14911491 return (a.row > b.row );
14921492 }
1493- #ifdef GPUCA_NO_FAST_MATH // TODO: Use a better define as swith
1493+ #ifdef GPUCA_DETERMINISTIC_MODE
14941494 if (a.id != b.id ) {
14951495 return (a.id > b.id );
14961496 }
@@ -1569,7 +1569,7 @@ GPUd() void GPUTPCGMMerger::CollectMergedTracks(int32_t nBlocks, int32_t nThread
15691569 // unpack and sort clusters
15701570 if (nParts > 1 && leg == 0 ) {
15711571 GPUCommonAlgorithm::sort (trackParts, trackParts + nParts, [](const GPUTPCGMSectorTrack* a, const GPUTPCGMSectorTrack* b) {
1572- #ifdef GPUCA_NO_FAST_MATH // TODO: Use a better define as swith
1572+ #ifdef GPUCA_DETERMINISTIC_MODE
15731573 if (a->X () != b->X ()) {
15741574 return (a->X () > b->X ());
15751575 }
@@ -1834,7 +1834,7 @@ struct GPUTPCGMMergerSortTracks_comp {
18341834 if (a.Legs () != b.Legs ()) {
18351835 return a.Legs () > b.Legs ();
18361836 }
1837- #ifdef GPUCA_NO_FAST_MATH // TODO: Use a better define as swith
1837+ #ifdef GPUCA_DETERMINISTIC_MODE
18381838 if (a.NClusters () != b.NClusters ()) {
18391839 return a.NClusters () > b.NClusters ();
18401840 }
@@ -1858,7 +1858,7 @@ struct GPUTPCGMMergerSortTracksQPt_comp {
18581858 {
18591859 const GPUTPCGMMergedTrack& GPUrestrict () a = mCmp [aa];
18601860 const GPUTPCGMMergedTrack& GPUrestrict () b = mCmp [bb];
1861- #ifdef GPUCA_NO_FAST_MATH // TODO: Use a better define as swith
1861+ #ifdef GPUCA_DETERMINISTIC_MODE
18621862 if (CAMath::Abs (a.GetParam ().GetQPt ()) != CAMath::Abs (b.GetParam ().GetQPt ())) {
18631863 return CAMath::Abs (a.GetParam ().GetQPt ()) > CAMath::Abs (b.GetParam ().GetQPt ());
18641864 }
@@ -1907,7 +1907,7 @@ GPUd() void GPUTPCGMMerger::SortTracks(int32_t nBlocks, int32_t nThreads, int32_
19071907 if (a.Legs () != b.Legs ()) {
19081908 return a.Legs () > b.Legs ();
19091909 }
1910- #ifdef GPUCA_NO_FAST_MATH // TODO: Use a better define as swith
1910+ #ifdef GPUCA_DETERMINISTIC_MODE
19111911 if (a.NClusters () != b.NClusters ()) {
19121912 return a.NClusters () > b.NClusters ();
19131913 }
@@ -1937,7 +1937,7 @@ GPUd() void GPUTPCGMMerger::SortTracksQPt(int32_t nBlocks, int32_t nThreads, int
19371937 auto comp = [cmp = mOutputTracks ](const int32_t aa, const int32_t bb) {
19381938 const GPUTPCGMMergedTrack& GPUrestrict () a = cmp[aa];
19391939 const GPUTPCGMMergedTrack& GPUrestrict () b = cmp[bb];
1940- #ifdef GPUCA_NO_FAST_MATH // TODO: Use a better define as swith
1940+ #ifdef GPUCA_DETERMINISTIC_MODE
19411941 if (CAMath::Abs (a.GetParam ().GetQPt ()) != CAMath::Abs (b.GetParam ().GetQPt ())) {
19421942 return CAMath::Abs (a.GetParam ().GetQPt ()) > CAMath::Abs (b.GetParam ().GetQPt ());
19431943 }
0 commit comments