Iam using SPARSE_MEMORY_AGGRESIVE which is default in mkl_sparse_set_memory_hint. But with this the memory utilization is 75% more than without it. If I use this I see a performance beneifit with penalty in the memory consumption.
Iam using this for a SPMV operation here is the sequence:
Could you please help me to resolve the memory consumption issue,
Yes. I had tried with SPARSE_MEMORY_NONE. This reduces the memory, but no performance gain. That is the performance is similar to the run without using this optimized Intel MKL call
I think there is nothing you can do about it. The goal of the optimize routines is to improve performance with the costs (often) being paid in additional memory.
Intel MKL tries to do its best when running spmv without additional memory, but for the best performance, we need additional memory for some internal data representations. So it is expected that the memory footprint will increase when you do optimize for spmv with the default (SPARSE_MEMORY_AGGRESSIVE) memory policy.
For some workloads (I guess, yours included), there is not much to be gained without using a more efficient data representation and hence it can happen that no performance improvemement is there to be observed with optimize + SPARSE_MEMORY_NONE hint in comparison to plain spmv call without optimize.
If you have an important application where performance bottleneck is in spmv and you need better performance, you can submit a FR in the customer support center (then we'll need more details).