Algorithm Modifications Clause Samples
Algorithm Modifications. The extent to which the existing scalar algorithm has to be modified to run well on the parallel processor can range from minimal changes in the calling code to a bottom-up re-write of the algorithm. For any given algorithm the position in this range will depend on the programming model being used and the nature of the algorithm itself. At the extreme end of this range it might be necessary to find a completely different algorithm for solving the same problem which has more inherent parallelism. For example, a bin-based sorting algorithm is going to be more efficient on a parallel processor than one which requires access to all data on every iteration, even if it is less efficient on a serial processor.
1. With data parallelism the threads are arranged so that each thread works on a different part of the input data, with each thread performing essentially the same computation.
2. With task parallelism the threads are arranged so that each thread works on a different part of the problem, typically in a pipeline, with different threads performing different computations. For more complex problems these models are combined in different ways. Tasks can be nested (e.g. a pipeline of tasks which use data parallelism internally) and they can be applied sequentially (e.g. a data parallel step followed by a task parallel step).
Algorithm Modifications. Under certain regularity conditions, FSA converges in probability to the local max- imum for convex log-likelihood (▇▇▇▇▇▇▇, 1992), however, the ReML log-likelihood can be non-convex and FSA may not converge (▇▇▇▇▇▇▇▇▇▇ et al., 2008). In Figure 3.2, we illustrate a simulated example of the quadric-shaped ReML log-likelihood function with the true ACE parameter setting of (A, C, E)T = (0, 0, 1)T and total variance σ2 = 1, which shows the ReML log-likelihood values for valid parameter set- tings in the ACE parameter space of {(A, C, E)T|A, C, E ∈ [0, 1] and A+C +E = 1}. Nevertheless, the estimate of the parameter vector can jump outside the parameter space and the ReML log-likelihood measures may not keep non-positive (i.e., the ReML likelihood values are not between 0 and 1), leading to the divergence or the inaccuracy of an algorithm. As a variant of ▇▇▇▇▇▇’▇ method, FSA is also sensit- ive to the starting point chosen; FSA can fail to converge if the given initial value ρ0 is poor. For instance, when the starting point is near or at the boundary of the parameter space, FSA is frequent to finally arrive at a point estimate outside the parameter space. Therefore, some possible modifications of the algorithm are proposed below, attempting to solve the convergence problems. The line search method can be applied and embedded in FSA in order to make sure an adequate increase in the objective function is achieved for each iteration. For the iteration s, ρs+1 = ρs + αsps, where ps = I−1(ρs|Y)∇A(ρs|Y) denotes a decent search direction of the objective function, and the step length αs is employed so as to achieve certain progress in the objective values, i.e., to ensure an increase in the ReML log-likelihood. The optimised choice of step length would be the exact step length obtained by solving the equation ∇A(ρs + αsps|Y) = 0 with fixed ρs and ps, but the full analytical expression of the maximum point is unachievable in this case. As the exact step length is impossible to derive, the inexact step length must be used. An acceptable inexact step length increases the ReML log-likelihood sufficiently, which can be determined by the ▇▇▇▇▇ conditions (▇▇▇▇▇, 1969, 1971). If αs > 0 satisfies the following two inequalities A(ρs + αsps|Y) ≥ A(ρs|Y) + c1αspsT∇A(ρs|Y), pT∇A(ρs + αsps|Y) ≤ c2psT∇A(ρs|Y), where 0 < c1 < c2 < 1, then αs is the optimal step size satisfying the ▇▇▇▇▇ conditions. In practice, we use the recommended values of c1 = 10−4 and c2 = 0.9 (▇▇▇▇▇...
