Re: [AMBER-Developers] Is there a preferred way to compress data as bits?

From: Duke, Robert E Jr <>
Date: Thu, 7 Feb 2013 22:18:07 +0000

There is some bit encoding already done in the pmemd code as an example. Seems you are after something a bit different, but the basic principles apply. Of course C is a bit more bit-manipulation-oriented, so should be easier. The underlying machine instructions should be pretty much the same, with the same hazards in shifts (but you should have complete control in C through correct data typing (unsigned)).
- Bob
From: []
Sent: Thursday, February 07, 2013 1:54 PM
Subject: [AMBER-Developers] Is there a preferred way to compress data as bits?

I've just realized that there may be some "magic numbers" in the way I'm
doing pair list building in mdgx which could give rise to a method that is
absolutely faster than a traditional pair list and has parallel computing
advantages as well.

The one thing that this tweak to the existing mdgx pair list build will
require is a way to encode 56 numbers ranging from 0 to 4 in as compact a
manner as possible. This will have to be done for each atom--so one could
imagine bit strings of 24 bytes each to encode the numbers. These strings
would have to be passed from processor to processor "outbound" along with
coordinates--they would not have to come back with forces, so the overall
communication cost should be manageable.

Can anyone talk about their experience with bit shifts and the speed of
these operations, or what they've done to encode numbers in as small a
space as possible?


AMBER-Developers mailing list

AMBER-Developers mailing list
Received on Thu Feb 07 2013 - 14:30:02 PST
Custom Search