This paper presents a new parallelization method for reductions of arrays with subscripted subscripts on scalable shared memory multiprocessors. The mapping of computations is based on grouping reduction loop iterations into sets that are further assigned to the cooperating threads of computation. Iterations belonging to the same set are chosen in such a way that update different entries in the reduction array. That is, the loop distribution implies a conflict-free write distribution of the reduction array. The iteration sets are set up by building a loop-index prefetching data structure that allows to reorder properly the loop iterations. The proposed method is general, scalable, and easy to implement on a compiler. In addition it deals in a uniform way with one and multiple subscript arrays. In case of multiple indirection arrays, writes on the reduction array affecting different sets are solved by defining conflictfree supersets. A performance evaluation is presented. From the experimental results and performance analysis, the proposed method appears as a clear alternative to the array expansion and privatized buffer techniques, used on stateof-the-art parallelizing coxdpilers, like Polaris or SUIF. The scalability problem that those techniques exhibit is missing in our method, as the memory overhead presented does not depend on the number of processors.
This article introduces a novel extension for Moodle supporting the automatic verification of codes written in Matlab. It has been applied when teaching the basics of imperative programming in a course aimed at chemical engineering students. The extension derives from the module CTPracticals, originally developed by the authors to enable the automatic assessment of VHDL assignments in Moodle. Several major changes have been made, mainly in the automatic verification engine, in the core of the system, and in several user interfaces. The module partially frees teachers from the repetitive task of verifying assignments, allowing them to invest more time assisting students and tackling new pedagogical objectives. An anonymous student survey proved that students are satisfied with the system because they find the feedback and the constantly updated view of the status of their assignments helpful. ß
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.