Commit a286bfeb authored by Ramon Nou's avatar Ramon Nou
Browse files

Solved sequential/seq_mixed issue

parent 328ef992
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -70,7 +70,7 @@ make_message(std::uint64_t tid, std::uint32_t seqno,
            cargo::transfer_message{tid, seqno, input.path(),
                                    static_cast<uint32_t>(input.get_type()),
                                    output.path(),
                                    static_cast<uint32_t>(input.get_type())});
                                    static_cast<uint32_t>(output.get_type())});
}

} // namespace
+63 −64
Original line number Diff line number Diff line
@@ -93,7 +93,7 @@ seq_mixed_operation::operator()() {
        m_status = error_code::other;
        return error_code::other;
    }

    m_status = error_code::transfer_in_progress;
    return error_code::transfer_in_progress;
}

@@ -111,7 +111,7 @@ seq_mixed_operation::progress(int ongoing_index) {
    // compute the number of blocks in the file

    int index = 0;
    if(write == false) {

    if(ongoing_index == 0) {
        m_bytes_per_rank = 0;
    }
@@ -131,9 +131,9 @@ seq_mixed_operation::progress(int ongoing_index) {
            m_status = error_code::transfer_in_progress;
            assert(m_buffer_regions[index].size() >= file_range.size());
            auto start = std::chrono::steady_clock::now();
                const std::size_t n = m_input_file->pread(
                        m_buffer_regions[index], file_range.offset(),
                        file_range.size());
            const std::size_t n =
                    m_input_file->pread(m_buffer_regions[index],
                                        file_range.offset(), file_range.size());

            LOGGER_DEBUG("Buffer contents: [\"{}\" ... \"{}\"]",
                         fmt::join(buffer_regions[index].begin(),
@@ -142,8 +142,8 @@ seq_mixed_operation::progress(int ongoing_index) {
                                   buffer_regions[index].end(), ""));

            /* Do write */
                m_output_file->pwrite(m_buffer_regions[index],
                                      file_range.offset(), file_range.size());
            m_output_file->pwrite(m_buffer_regions[index], file_range.offset(),
                                  file_range.size());


            m_bytes_per_rank += n;
@@ -152,13 +152,12 @@ seq_mixed_operation::progress(int ongoing_index) {
            auto end = std::chrono::steady_clock::now();
            // Send transfer bw
            double elapsed_seconds =
                        std::chrono::duration_cast<
                                std::chrono::duration<double>>(end - start)
                    std::chrono::duration_cast<std::chrono::duration<double>>(
                            end - start)
                            .count();
            if((elapsed_seconds) > 0) {
                bw((m_block_size / (1024.0 * 1024.0)) / (elapsed_seconds));
                    LOGGER_DEBUG(
                            "BW (read) Update: {} / {} = {} mb/s [ Sleep {} ]",
                LOGGER_DEBUG("BW (read) Update: {} / {} = {} mb/s [ Sleep {} ]",
                             m_block_size / 1024.0, elapsed_seconds, bw(),
                             sleep_value());
            }
@@ -178,7 +177,7 @@ seq_mixed_operation::progress(int ongoing_index) {
        m_status = error_code::other;
        return -1;
    }
    }


    m_status = error_code::success;
    return -1;
+3 −1
Original line number Diff line number Diff line
@@ -172,8 +172,10 @@ seq_operation::progress(int ongoing_index) {
            m_status = error_code::other;
            return -1;
        }
    }
         write = true;
        ongoing_index = 0;
    }
   
    // We finished reading
    // step3. POSIX write data
    // We need to create the directory if it does not exists (using