TheySaySomethingInterrestingApparently: Yet Another Beautiful Code and NVIDIA Counting Bit method.

〈0,1,1,2,3,5,8,13,21,...〉






Iterpipes, Between Bash and Hash-bash

A library for running shell pipelines using shell-like syntax

Enables piping infinite streams through shell pipelines in Python

xhtml-css Bivalidator

Check your markup and style validity

Advanced

Just type or paste an URL in the form above, and click on "check it" to see the magic. If you want to fine tune your validation, click on the "advanced" link. That's it!

Yet Another Comprehensive Content

Like, Young's modulus is a vibrating variation inside a solid... The times it take to respanw to an excess of energy is what molding apparence may look to not-so solid thing's... Like this Blog when adding content, the effor is like slapping it and the time it goes back, centered... we consider being more stable than usual...

mercredi 21 août 2013

Yet Another Beautiful Code and NVIDIA Counting Bit method.

While SIMD stand for Single-instruction, multiple-data instruction, looking toward Cuda in-operability of Geforce 7000M to be part of the CUDA supported GPU, I have to find out which instruction inside a grouped node it should not deliver the information... Acknowledging the 630i Data processor of Curie Families card, should miss something... Like Counting population inside a Beautiful Book named Beautiful Code, the Chapter 10, from Henry S. Warren, Jr should give me more information on what should I inspect... Counting in group, uses of SIMD instruction.

- Starring sub-chapter Divide and Conquer, it explain are information in group should be counted to extract a group with nominated value and this make a way to extract a subject from a Big Bit Field..

It explained a strategy in 5 step or log2(32) = 5 Steps information can be reduced...

Looking toward a Header file, named nv.h from nvidia from nvidia-304.88 version now with preliminary source code, we can see a function :
- nv_count_bits:


static inline int nv_count_bits(NvU64 word)
{
    NvU64 bits;

    bits = (word & 0x5555555555555555ULL) + ((word >>  1) & 0x5555555555555555ULL);
    bits = (bits & 0x3333333333333333ULL) + ((bits >>  2) & 0x3333333333333333ULL);
    bits = (bits & 0x0f0f0f0f0f0f0f0fULL) + ((bits >>  4) & 0x0f0f0f0f0f0f0f0fULL);
    bits = (bits & 0x00ff00ff00ff00ffULL) + ((bits >>  8) & 0x00ff00ff00ff00ffULL);
    bits = (bits & 0x0000ffff0000ffffULL) + ((bits >> 16) & 0x0000ffff0000ffffULL);
    bits = (bits & 0x00000000ffffffffULL) + ((bits >> 32) & 0x00000000ffffffffULL);

    return (int)(bits);
}


And it's equivalent being explained inside Chapter 10, Divide & Conquer, show merely how counting a group is explained...


And the similar conversion from the same book, call instruction the method using Integer to reveal the population of bit not masked by the operation. Another beautiful example few page ahead give twice an example to create a pop( x ) operation acting on bit inside the array.


This lead to another hint, what was that Debian Package allowing storing image in GPU memory to accelerate image treatment... This can lead to a story within GMA Intel Driver and API, developping OpenCL initiative for GPU computing...



XText may contains errors, syntax errors or lexical error...
XNow with SpellChecking and Editable text. Up to you to get something correct.


  • 1No Interest
  • 2Somewhat good
  • 3Good
  • 4Special.