Arioc Problems

AriocP ApplicationException AriocBase/tuSetupN10.cu : CUDA runtime API error 13: invalid device symbol Caller AriocP/tuGpu.cpp main

AriocP aborts

Did you try and run AriocP on a GPU without sufficient memory?

The documentation Arioc release v1.04 (29-Jan-2015 12:34) says it needs "at least one NVidia GPU of compute capability 3.5 or greater, with at least 5 gigabytes of GPU memory".

Work around

Check your GPU, eg with deviceQuery.

AriocE ApplicationException (AriocE/../CppCommon/WinGlobalPtr.h): malloc failed to allocate 8589934592 bytes

AriocE aborts with exit status code 1.

With default settings, a 12GB server does not seem to have enough memory. It appears, by default, more than 16 gigabytes are needed. Indeed the 1.04 documentation advises at least 72 gigabytes for the human genome.

Work around

Check your server, eg look in file /proc/meminfo

AriocP ApplicationException TaskUnit/tuBaseA.cpp unhandled C++ exception in TaskUnit worker thread AriocP ends (1)

AriocP aborts.

Could be any exception inside one of the CPU host threads. Most likely seems to be thrust::system::detail::bad_alloc std:e:bad_alloc: out of memory

No!! work around found

Is this a problem with running under linux?
Check your GPU, eg with nvidia-smi
Reducing batchSize may not help.
Increasing CUDAMINRESERVEDGLOBALMEMORY may not help.

AriocE /lib64/libc.so.6: version `GLIBC_2.14' not found (required by AriocE)

AriocE etc. abort with exit status code 1.

The linux executable AriocE needs version 2.14 (or later) of the 64-bit GNU C run time library. It is looking for it in /lib64/libc.so.6 but that file may contain an earlier version of libc.

Work around

See if /lib64/libc.so.6 exists, e.g. using ls -l /lib64/libc.so.6 (Typically it will exist and redirect to another library file whose name suggests which version of the GNU library it contains.)

If libc-2.14.so or later exists somewhere else on your system it may be possible to copy it or set up another redirection to point to it or define the LD_LIBRARY_PATH environment variable to point to it (in tcsh setenv LD_LIBRARY_PATH .:"$LD_LIBRARY_PATH") however there may be other reasons why the Arioc* programs are not compatible with your operating system.

Recompile all three programs for your system (see also next section and https://github.com/RWilton/Arioc/issues).

Compilation of AriocP fails
/usr/local/cuda-6.5/bin/nvcc -g -c -O2 -m64 -gencode arch=compute_35,code=sm_35 -Xcompiler -O2,-m64 -I /usr/local/cuda-6.5/include -o AriocP/tuSetupN.gpu.o AriocP/tuSetupN.cu make: /usr/local/cuda-6.5/bin/nvcc: Command not found

Version 1.04 of Arioc assumes CUDA 6.5. It will not compile with other versions of CUDA.

Work around

Edit src/makefile to replace /cuda-6.5/ with /cuda/ (two cases) and recompile following the instructions in src/makefile itself.

AriocP ApplicationException AriocCommon/AriocAppMainBase.cpp missing element

AriocP aborts with exit status code 1.

Did you use Arioc/Q/mason.paired.cfg when you should have used Arioc/A/mason.paired.cfg

Work around

Check .cfg file.


W.B.Langdon Back 17 October 2015 (last update 20 Oct 2015)