try another cpu implementation for q-contribution