dev-r1087: added --cap-kalloc
This commit is contained in:
parent
c4fe52fb07
commit
7e33fde82b
4
main.c
4
main.c
|
|
@ -7,7 +7,7 @@
|
||||||
#include "mmpriv.h"
|
#include "mmpriv.h"
|
||||||
#include "ketopt.h"
|
#include "ketopt.h"
|
||||||
|
|
||||||
#define MM_VERSION "2.21-dev-r1084-dirty"
|
#define MM_VERSION "2.21-dev-r1087-dirty"
|
||||||
|
|
||||||
#ifdef __linux__
|
#ifdef __linux__
|
||||||
#include <sys/resource.h>
|
#include <sys/resource.h>
|
||||||
|
|
@ -73,6 +73,7 @@ static ko_longopt_t long_options[] = {
|
||||||
{ "mask-len", ko_required_argument, 346 },
|
{ "mask-len", ko_required_argument, 346 },
|
||||||
{ "rmq", ko_optional_argument, 347 },
|
{ "rmq", ko_optional_argument, 347 },
|
||||||
{ "qstrand", ko_no_argument, 348 },
|
{ "qstrand", ko_no_argument, 348 },
|
||||||
|
{ "cap-kalloc", ko_required_argument, 349 },
|
||||||
{ "help", ko_no_argument, 'h' },
|
{ "help", ko_no_argument, 'h' },
|
||||||
{ "max-intron-len", ko_required_argument, 'G' },
|
{ "max-intron-len", ko_required_argument, 'G' },
|
||||||
{ "version", ko_no_argument, 'V' },
|
{ "version", ko_no_argument, 'V' },
|
||||||
|
|
@ -227,6 +228,7 @@ int main(int argc, char *argv[])
|
||||||
else if (c == 345) opt.alt_drop = atof(o.arg); // --alt-drop
|
else if (c == 345) opt.alt_drop = atof(o.arg); // --alt-drop
|
||||||
else if (c == 346) opt.mask_len = mm_parse_num(o.arg); // --mask-len
|
else if (c == 346) opt.mask_len = mm_parse_num(o.arg); // --mask-len
|
||||||
else if (c == 348) opt.flag |= MM_F_QSTRAND | MM_F_NO_INV; // --qstrand
|
else if (c == 348) opt.flag |= MM_F_QSTRAND | MM_F_NO_INV; // --qstrand
|
||||||
|
else if (c == 349) opt.cap_kalloc = mm_parse_num(o.arg); // --cap-kalloc
|
||||||
else if (c == 330) {
|
else if (c == 330) {
|
||||||
fprintf(stderr, "[WARNING] \033[1;31m --lj-min-ratio has been deprecated.\033[0m\n");
|
fprintf(stderr, "[WARNING] \033[1;31m --lj-min-ratio has been deprecated.\033[0m\n");
|
||||||
} else if (c == 314) { // --frag
|
} else if (c == 314) { // --frag
|
||||||
|
|
|
||||||
4
map.c
4
map.c
|
|
@ -362,7 +362,9 @@ void mm_map_frag(const mm_idx_t *mi, int n_segs, const int *qlens, const char **
|
||||||
if (mm_dbg_flag & MM_DBG_PRINT_QNAME)
|
if (mm_dbg_flag & MM_DBG_PRINT_QNAME)
|
||||||
fprintf(stderr, "QM\t%s\t%d\tcap=%ld,nCore=%ld,largest=%ld\n", qname, qlen_sum, kmst.capacity, kmst.n_cores, kmst.largest);
|
fprintf(stderr, "QM\t%s\t%d\tcap=%ld,nCore=%ld,largest=%ld\n", qname, qlen_sum, kmst.capacity, kmst.n_cores, kmst.largest);
|
||||||
assert(kmst.n_blocks == kmst.n_cores); // otherwise, there is a memory leak
|
assert(kmst.n_blocks == kmst.n_cores); // otherwise, there is a memory leak
|
||||||
if (kmst.largest > 1U<<28) {
|
if (kmst.largest > 1U<<28 || (opt->cap_kalloc > 0 && kmst.capacity > opt->cap_kalloc)) {
|
||||||
|
if (mm_dbg_flag & MM_DBG_PRINT_QNAME)
|
||||||
|
fprintf(stderr, "[W::%s] reset thread-local memory after read %s\n", __func__, qname);
|
||||||
km_destroy(b->km);
|
km_destroy(b->km);
|
||||||
b->km = km_init();
|
b->km = km_init();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -168,6 +168,7 @@ typedef struct {
|
||||||
int32_t max_occ, max_max_occ, occ_dist;
|
int32_t max_occ, max_max_occ, occ_dist;
|
||||||
int64_t mini_batch_size; // size of a batch of query bases to process in parallel
|
int64_t mini_batch_size; // size of a batch of query bases to process in parallel
|
||||||
int64_t max_sw_mat;
|
int64_t max_sw_mat;
|
||||||
|
int64_t cap_kalloc;
|
||||||
|
|
||||||
const char *split_prefix;
|
const char *split_prefix;
|
||||||
} mm_mapopt_t;
|
} mm_mapopt_t;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue