 #include "assist.h"
 
 using namespace std;
-
-/* The idea of COMPRESS_VOTING_AND_SELECT was to merge
- * voting into the CUB::DeviceSelect::If operation.
- */
-#undef  COMPRESS_VOTING_AND_SELECT
-/* DO NOT USE COMPRESS_VOTING_AND_SELECT
- * This has increased runtime from 9.4ms to 85.6ms !!!
- * Try again if Dynamic Parallelism ever works.
- */
 
 namespace popart
 {

                                       sizeof(int), _stream );
        POP_CUDA_SYNC( _stream );

#ifdef COMPRESS_VOTING_AND_SELECT
        /* The computation of vote_eval_chosen can be
         * included into NumVotersIsGreaterEqual::operator()
         */
#else // COMPRESS_VOTING_AND_SELECT
        /* Add number of voters to chosen inner points, and
         * add average flow length to chosen inner points.
         */

        , _array( _d_array )
    {}

    // CUB_RUNTIME_FUNCTION
    __device__
    __forceinline__
    bool operator()(const int &a) const {
        return (_array.ptr[a]._winnerSize >= _compare);
    }
};

__host__
