speedup reading data from file. Some suggestion

Hi,guys:
Get a problem here…
In my execution time ,about 80% time spent on reading data from file,the time spent on gpu is only less than 20%,what can i do to heighten my performance.I know it reply on my disk IO to some extent,but maybe there is other ways to improve my performance,anybody who can give me some suggestions on reducing the time spent on reading data from files?
Thanks in advance! :)

If it is not already, you could compress the data and then write it to the file. So when you read it from disk it will be faster. However you have to benchmark how much time you need for compressing decompressing.

Good idea. You could use LZO to compress, this is supposedly pretty CPU-friendly but compresses OK.

http://en.wikipedia.org/wiki/Lempel-Ziv-Oberhumer

If it is really the case that your algorithm is bound on the IO of the data you might run into the next problem when transfering the data to/from the GPU over PCIExpress.
So perhaps compress/decompress on the GPU and pipe the data only through your RAM.

But I have so little knowledge about the data compress and decompress.Thank you all the same,you all.

One idea - if you are doing random IO in your disk data, you could speed things up by caching it in RAM first. That way you read through the file sequentially - and faster - and do the random IOs from RAM.