PFAC v1.1 is released

6 views
Skip to first unread message

Lung-Sheng Chien

unread,
Apr 27, 2011, 5:53:14 AM4/27/11
to pfacForum
PFAC v1.1 adds space-efficient algorithm which adopts a two-level hash
table. It is possible to process a HUGE pattern file, for example,
more than 10MB or higher.

storage overhead of space-efficient algorithm is roughly 1/50 of time-
efficient algorithm, that is why it can process large patterns without
out-of-memory. The performance loss of space-efficient algorithm is
20% ~30%. It is wonderful and outperforms what I expect.

I think space-efficient version can apply on DNA sequence analysis
because patterns is typically GB. You may still need to split pattern
file into small ones but few merging operations can be achieved if you
adopt space-efficient version.

I add a new example in Appendix B of user guide. Such example shows
peer-to-peer memory access in PFAC. More precisely, you can bind PFAC
context to GPU 0 and allocate input/output device memory in GPU 1,
then apply PFAC_matchFromDevice() on these input/output pointers. This
does not work on CUDA 3.2, but it works on CUDA 4.0 thanks to unified
virtual addressing. To run this example, you need to install CUDA 4.0
RC2, available at http://developer.nvidia.com/cuda-downloads , also
you need two GPU of compute capability 2.0 or higher, and 64-bit OS.

PFAC v1.1 uses 1-D texture memory whereas PFAC v1.0 uses 2-D texture
memory. In fact performance of 1-D texture is faster a little bit than
2-D texture, I think this is because 2-D random access may not benefit
from 2-D texture cache. I would like to keep 1-D texture memory
because it can simplify design of PFAC library, reduce decision-making
tree.

I am sorry that PFAC v1.1 does not support escape character, however I
need to submit a proposal of this new release to GTC2011 before May
3rd. So I would like to put this feature to next release 1.2. Also I
would like to add some fixed length regular expressions into release
1.2, this has been discussed before.

As for AC versus PFAC, it is still ongoing.

I hope that space-efficient version indeed can help you on large
pattern file.
Reply all
Reply to author
Forward
0 new messages