Skip to content

Commit f5fbff6

Browse files
committed
KMC 3.0.0
1 parent 1bd9abd commit f5fbff6

File tree

2 files changed

+9
-43
lines changed

2 files changed

+9
-43
lines changed

kmer_counter/kmc.h

Lines changed: 5 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1016,37 +1016,17 @@ template <typename KMER_T, unsigned SIZE, bool QUAKE_MODE> bool CKMC<KMER_T, SIZ
10161016
save_bins_stats(Queues, Params, sizeof(KMER_T), KMER_T::QUALITY_SIZE, n_reads, Params.signature_len, Queues.s_mapper->GetMapSize(), Queues.s_mapper->GetMap());
10171017
#endif
10181018

1019-
SortFunction<KMER_T> sort_func;
1019+
SortFunction<KMER_T> sort_func;
1020+
#ifdef __APPLE__
1021+
sort_func = RadixSort::RadixSortMSD<KMER_T, SIZE>;
1022+
CSmallSort<SIZE>::Adjust(384);
1023+
#else
10201024
int iset = instrset_detect();
10211025
auto proc_name = CCpuInfo::GetBrand();
10221026
bool is_intel = CCpuInfo::GetVendor() == "GenuineIntel";
10231027
bool at_least_avx = iset >= 7;
10241028
std::transform(proc_name.begin(), proc_name.end(), proc_name.begin(), ::tolower);
10251029
bool is_xeon = proc_name.find("xeon") != string::npos;
1026-
//#define PRINT_PROC_INFO
1027-
#ifdef PRINT_PROC_INFO
1028-
if (is_xeon || (is_intel && at_least_avx))
1029-
{
1030-
if (is_xeon)
1031-
cout << "Xeon detected\n";
1032-
else
1033-
cout << "Some intel with at least avx\n";
1034-
1035-
if (iset >= 8)
1036-
sort_func = RadulsSort::RadixSortMSD_AVX2<KMER_T>, cout << "using avx2 version of RADULS\n";
1037-
else if (iset >= 7)
1038-
sort_func = RadulsSort::RadixSortMSD_AVX<KMER_T>, cout << "using avx version of RADULS\n";
1039-
else if (iset >= 5)
1040-
sort_func = RadulsSort::RadixSortMSD_SSE41<KMER_T>, cout << "using sse4.1 version of RADULS\n";
1041-
else if (iset >= 2)
1042-
sort_func = RadulsSort::RadixSortMSD_SSE2<KMER_T>, cout << "using sse2 version of RADULS\n";
1043-
}
1044-
else
1045-
{
1046-
sort_func = RadixSort::RadixSortMSD<KMER_T, SIZE>, cout << "using KMC3 radix instead of RADULS\n";
1047-
CSmallSort<SIZE>::Adjust(384);
1048-
}
1049-
#else
10501030
if (is_xeon || (is_intel && at_least_avx))
10511031
{
10521032
if (iset >= 8)

makefile_mac

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,7 @@ $(KMC_MAIN_DIR)/kb_storer.o \
3030
$(KMC_MAIN_DIR)/kmer.o \
3131
$(KMC_MAIN_DIR)/prob_qual.o
3232

33-
RADULS_OBJS = \
34-
$(KMC_MAIN_DIR)/raduls_sse2.o \
35-
$(KMC_MAIN_DIR)/raduls_sse41.o \
36-
$(KMC_MAIN_DIR)/raduls_avx2.o \
37-
$(KMC_MAIN_DIR)/raduls_avx.o
33+
3834
KMC_LIBS = \
3935
$(KMC_MAIN_DIR)/libs/libz.1.2.5.dylib \
4036
$(KMC_MAIN_DIR)/libs/libbz2.1.0.5.dylib
@@ -81,18 +77,8 @@ $(KMC_OBJS) $(KMC_DUMP_OBJS) $(KMC_API_OBJS): %.o: %.cpp
8177
$(KMC_TOOLS_OBJS): %.o: %.cpp
8278
$(CC) $(KMC_TOOLS_CFLAGS) -c $< -o $@
8379

84-
$(KMC_MAIN_DIR)/raduls_sse2.o: $(KMC_MAIN_DIR)/raduls_sse2.cpp
85-
$(CC) $(CFLAGS) -msse2 -c $< -o $@
86-
$(KMC_MAIN_DIR)/raduls_sse41.o: $(KMC_MAIN_DIR)/raduls_sse41.cpp
87-
$(CC) $(CFLAGS) -msse4.1 -c $< -o $@
88-
$(KMC_MAIN_DIR)/raduls_avx.o: $(KMC_MAIN_DIR)/raduls_avx.cpp
89-
$(CC) $(CFLAGS) -mavx -fabi-version=0 -c $< -o $@
90-
$(KMC_MAIN_DIR)/raduls_avx2.o: $(KMC_MAIN_DIR)/raduls_avx2.cpp
91-
$(CC) $(CFLAGS) -mavx2 -mfma -fabi-version=0 -c $< -o $@
92-
$(KMC_MAIN_DIR)/instrset_detect.o: $(KMC_MAIN_DIR)/libs/vectorclass/instrset_detect.cpp
93-
$(CC) $(CFLAGS) -c $< -o $@
94-
95-
kmc: $(KMC_OBJS) $(RADULS_OBJS) $(KMC_MAIN_DIR)/instrset_detect.o
80+
81+
kmc: $(KMC_OBJS)
9682
-mkdir -p $(KMC_BIN_DIR)
9783
$(CC) $(CLINK) -o $(KMC_BIN_DIR)/$@ $^ $(KMC_LIBS)
9884
kmc_dump: $(KMC_DUMP_OBJS) $(KMC_API_OBJS)
@@ -109,4 +95,4 @@ clean:
10995
-rm $(KMC_TOOLS_DIR)/*.o
11096
-rm -rf bin
11197

112-
all: kmc kmc_dump kmc_tools
98+
all: kmc kmc_dump kmc_tools

0 commit comments

Comments
 (0)