Mikhail Rybalkin [ Editor ]
There is two problems with implementing this in the database cartridges:
1. For the large database you cannot keep the whole database index in the GPU memory and you need to transfer index into the GPU memory by blocks. This leads to a second problem with concurrent queries.
2. Problem with concurrent queries. If there are concurrent queries then they should be grouped, because only one part of the chemical index can be stored in the GPU memory at a one time. While if the index in stored in the CPU memory, then queries can be executed independently.
Large performance improvement can be archived for large set of grouped queries. I think in future cartridges will use GPU for some purposes, but before that some standalone tools tools will appear that will use GPU. For example, it might help to solve the problem in this question: http://blueobelisk.shapado.com/questions/efficient-way-of-calculating-similarity-between-two-large-datasets
And I agree with @tony that database tier should have required hardware, but this is quite rare now and it adds additional complexity.