  There is a stage in the GPU computing pipeline where a grid of thread-blocks,
in \textit{parallel space}, is mapped onto the problem domain, in \textit{data
space}. Since the parallel space is restricted to a box type geometry, the
mapping approach is typically a $k$-dimensional bounding box (BB) that covers a
$p$-dimensional data space. Threads that fall inside the domain perform
computations while threads that fall outside are discarded at runtime. In this
work we study the case of mapping threads efficiently onto triangular domain
problems and propose a block-space linear map $\lambda(\omega)$, based on the
properties of the lower triangular matrix, that reduces the number of
unnnecessary threads from $\mathcal{O}(n^2)$ to $\mathcal{O}(n)$. Performance
results for global memory accesses show an improvement of up to $18\%$ with
respect to the \textit{bounding-box} approach, placing $\lambda(\omega)$ on
second place below the \textit{rectangular-box} approach and above the
\textit{recursive-partition} and \textit{upper-triangular} approaches. For
shared memory scenarios $\lambda(\omega)$ was the fastest approach achieving
$7\%$ of performance improvement while preserving thread locality. The results
obtained in this work make $\lambda(\omega)$ an interesting map for efficient
GPU computing on parallel problems that define a triangular domain with or
without neighborhood interactions. The extension to tetrahedral domains is
analyzed, with applications to triplet-interaction n-body applications.
