Closed SteveGoldstein closed 9 years ago
HI Steve,
I think there is some confusion between the compilation and the running of jellyfish
. Let me answer your questions:
-j
flag of make only concerns make. Regardless of the -j
switch, the same executable will be created.The number of threads used by Jellyfish is set at run time with the -t
(or --threads
for the long version) switch. So jellyfish count -t 1 ...
will use 1 thread, jellyfish count -t 16
will use 16.
It is up to the script you submit to Condor to determine the number of threads to use and pass the proper switch to jellyfish
.
Hope this clarifies things.
I now know how to determine if a process is running on multiple threads (by looking in /proc/PROCID/tasks) and confirmed jellyfish --threads works for the binary I'm running.
Previously, I looked at the output of ps and top and didn't see evidence of multiple threads --- hence my question.
Thanks for clearing this up.
You can ask ps or top to display information for each thread, instead of per process information. See the man page. Also, if you look in top, if a process uses more than 100% of CPU, that means it uses more than 1 core.
Hi,
Running jellyfish dump -t N or --threads N returns an error:
dump: unrecognized option '--threads'
Use --usage or --help for some help
I get a similar error for jellyfish merge.
Steve
On 11/09/2015 07:25 PM, gmarcais wrote:
Every Jellyfish program support multithreading.
I am running jellyfish on a HTCondor high-throughput distributed computing pool.
For different sequencing projects, I will want to run it with different values for the --threads parameter. For example, for some projects, I might split the work into a small number of multithreaded jobs, but for a project with many small FastQ inputs, I might get higher throughput with --threads 1 because the pool has many more single-thread node available.
How should I build jellyfish to support this?
make -j
Thanks, Steve Goldstein University of Wisconsin-Madison