When compiling example below, you will get warning:
#469: temporary used for initial value of reference to non-const (anachronism)
and when another overload is added (see comment) warning disappears, but compiler still choose "BOOL" overload instead of "OBJECT". Note that disabling microsoft extensions (/Za) brings warning back.
We are using x64 compiler for visual studio 2013, version 184.108.40.206 build 20141023 on windows 7.
With the help of this great forum and old post, I was able to finally execute my first example on Cholesky factorization. However, I have a question. I call the function like this:
dpotrf( &'L', &N, // A is NxN matrix A, &N, &nInfo );
Since I am planning to do a distributed factorization, I have to be sure about the arguments. What is the latter 'N' used for? My first thought was about the dimension of the output, but that's the same array, so I am confused.
I'm running the command inspxe-inject -save-spec=file.spec -- make all
The program runs (very quickly) with no error messages.
When I look in file.spec this is all I see:
# DO NOT EDIT THIS FILE!!!
#Source Checker Build Specification Format, version 1.0.0
When I run "make all" from the same directory, it runs correctly.
The make files are being created by cmake, and at this time I do not have the ability to modify them.
I am using Centos-7 Linux.
31S1P: BSOD or Device Connection Lost
There are some kind of instabilities with my Xeon Phi 31s1p. With or WITHOUT(!) a job on the coprocessor there are events like
june 16 2015 21:02:31: Warning: mic0: Device connection lost!
june 16 2015 21:03:47: Information: mic0: Device connection restored
With an OpenCL job the situation gets worse: it may loose connection or raise blue screen of death :) IRQL_LESS_OR_EQUAL in some MPSS dll (I will take a screenshot later).
I'm testing some intrinsics and checking some results. Unfortunately, I don't understand why when I'm trying to evaluate a[i] > 2, I get "-nan" as an output for the true cases. Maybe I did something wrong but I thought this should return 1 when it's true and 0 when it's false. I looked other internet for this error but I didn't find anything.
Here's my code:
I was trying to offload some computation to MIC using "pragma", sending data addressed by a pointer p, then how to ensure the alignment of data on MIC after MIC recieved it? Does" __assume(p, 64)" work?I was trying to use instrinsics to load data to the vector RF, which requires the alignment of data.
Another problem, that I was trying to active lots of threads for the calculation using "#pragma omp parallel for", and some arrays inside the loop must be thread private while also 64-byte aligned.
I get into trouble when use MPI_Recv in my programmes.
My programme start 3 subprocess,and bind them to cpu 1-3 respectively. In each subprocess, first disabled interrupts , then send message to other process and receive from others. Repeat it a billion times.
I except that MPI_Recv will return in a fixed times ,and not use MPI_irecv instead.
In order to do that, i disabled interrupts and cancel ticks on cpu1-3,remove other process from cpu 1-3 to cpu 0,and bind interrupts to cpu0.
When I ran a MPI job on Linux using LSF, I just use bsub to submit the following script file and
#BSUB -n 8
#BSUB -R "OSNAME==Linux && ( SPEED>=2500 ) && ( OSREL==EE60 || OSREL==EE58 || OSREL==EE63 ) &&
SFIARCH==OPT64 && mem>=32000"
#BSUB -q lnx64
#BSUB -W 1:40
The system will start 8 mympi jobs. I don't need to specify machine names in the mpirun command line.