Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

peak calling device initialization issue. #12

Open
LnLogN opened this issue Jan 23, 2019 · 4 comments
Open

peak calling device initialization issue. #12

LnLogN opened this issue Jan 23, 2019 · 4 comments

Comments

@LnLogN
Copy link

LnLogN commented Jan 23, 2019

I'm getting "Error in device initialization" error when running peak calling with dREG, but the prediction function runs fines. .

I'm running on a node with:

OS: redhat 7.4 kernel 3.10.0-693
GPU: GTX1080
Cuda: cuda9.0
dreg version: latest version checked out from github
rgtsvm version: latest version
bedops: 2.4.14

All the data are test data downloaded from ftp server provided, below is the test run output:


Using: R --vanilla --slave --args test/K562_long_plus.bw test/K562_long_minus.bw test/k562/K562.TEST test/asvm.gdm.6.6M.20170828.rdata 4 0 < /home/installs/packs/rgtsvm/dREG/run_dREG.R
WARNING: ignoring environment value of R_HOME
Loading required package: dREG
Loading required package: bigWig
Loading required package: e1071
Loading required package: rphast
Loading required package: snowfall
Loading required package: snow
Loading required package: data.table
Loading required package: rmutil

Attaching package: ‘rmutil’

The following object is masked from ‘package:stats’:

    nobs

The following objects are masked from ‘package:base’:

    as.data.frame, units

Loading required package: mvtnorm
Loading required package: randomForest
randomForest 4.6-14
Type rfNews() to see new features/changes/bug fixes.
Warning message:
replacing previous import ‘stats::nobs’ by ‘rmutil::nobs’ when loading ‘dREG’ 
------------ Parameters ------------- 
Bigwig(plus): test/K562_long_plus.bw 
Bigwig(minus): test/K562_long_minus.bw 
Output: test/k562/K562.TEST 
dREG model: test/asvm.gdm.6.6M.20170828.rdata 
CPU cores: 4 
GPU ID: 0 
Using Rgtsvm: TRUE 
-------------------------------------
 [ 2019-01-23 11:21:43 ] 1) Checking bigWig files.
[ 2019-01-23 11:21:49 ] 2) Starting peak calling.
Loading required package: Rgtsvm

Attaching package: ‘Rgtsvm’

The following objects are masked from ‘package:e1071’:

    svm, tune.control, tune.svm

Error in checkForRemoteErrors(val) : 
  one node produced an error: Error in device initialization.
Calls: system.time ... clusterApply -> staticClusterApply -> checkForRemoteErrors
Timing stopped at: 117.8 3.9 144.7
Execution halted

What have I tried:

  1. running with 1 cpu and 1 gpu - same error.
  2. Tried to run with no gpu by not specifying a number after cpu or using "FALSE", got this error:
    Error in if (gpu_id > 0) { : missing value where TRUE/FALSE needed
    Execution halted

Please let me know of any insights to this problem.

@LnLogN
Copy link
Author

LnLogN commented Jan 23, 2019

Found the problem, I only have 1 gpu on the node, and the gpu_cores is hard coded to 1, but rgtsvm uses this number as gpu id. change this to gpu_cores=gpu_id worked, not sure if it'll work for multi-GPUs.

run.time <- system.time(r <- peak_calling( asvm, gdm, ps_plus_path, ps_minus_path, cpu_cores=cpu_cores, use_rgtsvm=use_rgtsvm, gpu_cores=1));

@wzhy2000
Copy link
Contributor

Thank you for your feedback.
I tried to fix this question. Can you try the new codes again?

Or
you can use the online gateway to run your data.
http://dreg.dnasequence.org

Best,
Zhong Wang

@gulcinozer
Copy link

I tried to run dReg without GPU option and received an error about rgtsvm library. When I check the code in run_dREG.R closely, I noticed that there is a parameter initiation error.

use_rgtsvm <- FALSE;
gpu_id <- as.integer(args[6])
if (!is.na(gpu_id)) use_rgtsvm<-TRUE

If I provide 0 for gpu_id, it is not NA anymore and use_rgtsvm is set to TRUE. Then, this will cause an error in peak_calling function.

If I don't provide any value for gpu_id, use_rgtsvm would be set to FALSE, but then the next step would return an error:
if(gpu_id>0)
{
library(Rgtsvm);
ret <- selectGPUdevice(gpu_id);
}

I manually edited run_dREG.R to bypass this error.

@wzhy2000
Copy link
Contributor

Thank you for your feedback. I will change it as you did.
But I don't suggest running dREG without GPU. You can use our online computing resource: dREG Gateway ( https://dreg.dnasequence.org/ )

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants