anchor.diff:              (make-mat (list n (size lump))
                         :max-size (* (max-n-stripes lump) (size lump))))))
   
  +(eval-when (:compile-toplevel :load-toplevel :execute)
  +  (defparameter *n-softmax-threads* 128))
  +
   (defmethod forward ((lump ->softmax-xe-loss))
     (let* ((x (nodes (x lump)))
            (group-size (group-size lump))
  
positive.code:           (let* ((ib (+ i b))
                   (target-ib (aref target ib)))
              (when (/= 0.0 target-ib)
                (set sum (+ sum (* (aref d ib)
                                   target-ib
                                   (- softmax-ia
                                      (if (= a b)
                                          1.0
  
negative.code:          (n (* (n-stripes lump) (size lump))))
      (if (use-cuda-p)
          (cuda-softmax-xe group-size x n softmax
                           :grid-dim (list (/ n group-size) 1 1)
                           :block-dim (list *n-softmax-threads* 1 1))
          (lisp-softmax-xe group-size x n softmax))))
  
  (define-lisp-kernel (lisp-softmax-xe)
  