- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
......
MKL_LONG status;
VSLStreamStatePtr stream;
......
int main(){
vslNewStream(&stream, VSL_BRNG_SFMT19937, 777);
rnd_data = (double*)malloc(total * sizeof(double));
status = vdRngUniform(VSL_RNG_METHOD_UNIFORM_STD, stream, total, rnd_data, 0.0, 1.0);
vslDeleteStream(&stream);
......
}
The above quite standard c++ VSL code gives 'MKL ERROR: Parameter 3 was incorrect on entry to vdRngUniform' once the variable 'total' is large than 2^32-1. I'm trying to write a ILP64 version to overcome this. In so far as I've tried, by referring to MKL manual https://software.intel.com/sites/products/documentation/hpc/mkl/lin/MKL_UG_structure/Support_for_ILP64_Programming.htm, the error remained all along. I tried using compilation command 'icpc -DMKL_ILP64 -mkl a.cpp' and defining variable 'total' as MKL_INT type. I'm using some 64-bit linux machine.
Could you kindly help me on this? Thanks in advance!
Link kopiert
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Hello,
Can you please check status of the dynamic memory allocation in your environment and let me know if the memory for rnd_data is successfully allocated in both modes, with -DMKL_INT64 and without it?
Please, use MKL_INT type for the variable total.
Andrey
- RSS-Feed abonnieren
- Thema als neu kennzeichnen
- Thema als gelesen kennzeichnen
- Diesen Thema für aktuellen Benutzer floaten
- Lesezeichen
- Abonnieren
- Drucker-Anzeigeseite