import os

try:
    os.environ["OMP_NUM_THREADS"] = "1"
    os.environ["NUMEXPR_NUM_THREADS"] = "1"
    os.environ["MKL_NUM_THREADS"] = "1"
    import numpy as np
finally:
    del os.environ["OMP_NUM_THREADS"]
    del os.environ["NUMEXPR_NUM_THREADS"]
    del os.environ["MKL_NUM_THREADS"]

import utils

print(np.sort(np.load(utils.get_numbers_file()), kind='mergesort'))
示例#2
0
def sort():
    global_unsorted_array = np.load(utils.get_numbers_file())
    validate_generated_numbers(global_unsorted_array)
    local_data = np.array_split(global_unsorted_array, size)[rank]
    local_data = do_odd_even_sort(local_data)
    output(global_unsorted_array, local_data)
示例#3
0
import os

try:
    os.environ["OMP_NUM_THREADS"] = "1"
    os.environ["NUMEXPR_NUM_THREADS"] = "1"
    os.environ["MKL_NUM_THREADS"] = "1"
    import numpy as np
finally:
    del os.environ["OMP_NUM_THREADS"]
    del os.environ["NUMEXPR_NUM_THREADS"]
    del os.environ["MKL_NUM_THREADS"]

import utils

s = sorted(np.load(utils.get_numbers_file()))
print("sorted")
示例#4
0
import numpy as np  # numpy can be used multithreaded for generation on master
import sys, utils
'''
generate numbers with e.g.: "python3 generator.py 16"
to numbers.npy as binary numpy array
'''

size = int(sys.argv[1]) if len(sys.argv) > 1 else 128
random_range = np.arange(size)
np.random.shuffle(random_range)
np.save(utils.get_numbers_file(), random_range)
示例#5
0
try:
    os.environ["OMP_NUM_THREADS"] = "1"
    os.environ["NUMEXPR_NUM_THREADS"] = "1"
    os.environ["MKL_NUM_THREADS"] = "1"
    import numpy as np
finally:
    del os.environ["OMP_NUM_THREADS"]
    del os.environ["NUMEXPR_NUM_THREADS"]
    del os.environ["MKL_NUM_THREADS"]

import utils


def oddevenSort(x):
    sorted = False
    while not sorted:
        sorted = True
        for i in range(0, len(x) - 1, 2):
            if x[i] > x[i + 1]:
                x[i], x[i + 1] = x[i + 1], x[i]
                sorted = False
        for i in range(1, len(x) - 1, 2):
            if x[i] > x[i + 1]:
                x[i], x[i + 1] = x[i + 1], x[i]
                sorted = False
    return x


print(oddevenSort(np.load(utils.get_numbers_file())))
示例#6
0
import os

try:
    os.environ["OMP_NUM_THREADS"] = "1"
    os.environ["NUMEXPR_NUM_THREADS"] = "1"
    os.environ["MKL_NUM_THREADS"] = "1"
    import numpy as np
finally:
    del os.environ["OMP_NUM_THREADS"]
    del os.environ["NUMEXPR_NUM_THREADS"]
    del os.environ["MKL_NUM_THREADS"]

import utils

print(np.sort(np.load(utils.get_numbers_file())))